`
百合不是茶
  • 浏览: 354172 次
社区版块
存档分类
最新评论

android-async-http将json封装到body体中

阅读更多

url直接拼接地址会超过限制,所以在开发中我们一般是将请求的参数写到body体中,下面我使用的是android的http网络框架,在实现的过程中出现了很多问题 ,现在代码记录:

 

 

 

 

   final byte[] zipSendDateService = zipSendDate(SelectSendDate().getBytes()); //上送的字符
		content = httpClient.getUploadSendData();//请求的报文
             //http的post请求,调用下面的post请求
            httpClient.post(context, content, zipSendDateService, 
		"application/octet-stream",new AsyncHttpResponseHandler() {
	@Override//请求成功
		public void onSuccess(int statusCode,Header[] headers, byte[] responseBody)             {
            processSendUploadResult(new String(responseBody));}

	@Override //请求失败
	public void onFailure(int statusCode,Header[] headers, byte[] responseBody,
	   Throwable error) {
    }
});

 

post的方式将字符串写到body体中请求服务器

 

//获得上面方法的参数	
public RequestHandle post(Context context, String content,
			byte[] zipSendDateService, String contentType,
			ResponseHandlerInterface responseHandler) {
//字节转成字节输入流
		ByteArrayInputStream bis = new ByteArrayInputStream(zipSendDateService);
将流写到Entity中
		InputStreamEntity entity = new InputStreamEntity(bis,
				zipSendDateService.length);
		try {
//转码
			content = URLEncoder.encode(content, HTTP.UTF_8);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
//获得地址并且拼接json到url后面
		String url = getRequestUrl()+"?JSON="
				+ content;

//请求服务器
		return httpClient.post(context, url, entity, contentType,
				responseHandler);
	}

 

 

 

服务器可以直接读取body中的字符串

 

 

0
0
分享到:
评论

相关推荐

    前端开源库-koa-json

    在这个自定义错误处理器中,我们可以将错误信息封装成 JSON 对象,并指定自定义的状态码。 总的来说,`koa-json` 是一个非常实用的 Koa 中间件,它增强了 JSON 响应的可读性,同时提供了灵活的配置选项以适应不同...

    Node.js-一个把POST请求数据解析为JSON数据的中间件

    接着,我们添加了`postParse`中间件,它会将解析后的数据转换为JSON格式,存储在`ctx.request.body`中。 值得注意的是,`koa-postparse`默认假设所有的POST请求数据都是JSON格式。如果请求体的数据格式不正确,可能...

    如何用selenium封装post参数提交示例

    在描述中提到的,我们将探讨如何使用Selenium来封装POST参数并提交,以获取异步请求返回的JSON对象值。 首先,理解Selenium的基本结构是必要的。Selenium通常包含WebDriver接口,它提供了一种方式来控制浏览器,并...

    Node.js-Google云消息推送node的简单服务封装

    在本文中,我们将深入探讨如何使用Node.js对Google云消息推送(Firebase Cloud Messaging,简称FCM)进行简单的服务封装。FCM是Google提供的一种免费的跨平台消息传递服务,允许开发者向Android、iOS以及Web应用发送...

    jsoncall:描述json调用的模式

    在实际应用中,JSONCall通常与Ajax或者Fetch API结合使用,将JSONCall对象作为请求体发送到服务器,然后处理返回的JSON数据。例如: ```typescript async function sendJSONCall(call: JSONCallInterface) { const...

    dotnet-RestSharp是NET简单REST和HTTPAPI客户端

    在这个例子中,我们创建了一个POST请求,设置了Content-Type为JSON,并添加了一个JSON参数到请求体中。然后执行请求并获取响应。 总之,RestSharp是.NET开发中处理HTTP请求和REST服务的理想选择,它的易用性、灵活...

    c#+android 极光推送实例

    在这个“C#+Android 极光推送实例”中,我们将探讨如何利用C#后端与极光推送API集成,以便向Android客户端发送推送通知。 首先,你需要在极光推送官网注册并创建一个应用,获取到特定于你应用的ApiKey和...

    C#写的httprequest请求调试工具代码

    6. **HTTP参数封装**:在C#中,请求参数可以以查询字符串的形式附加在URL上(GET请求),或者写入到请求体中(POST/PUT请求)。对于JSON或XML格式的数据,需要先序列化为字符串再发送。 7. **异步请求**:现代开发...

    前端开源库-req-then

    3. **参数配置**:在发送请求时,可以配置URL、请求头(headers)、查询参数(query params)、请求体(body)等,以适应各种API接口的要求。 4. **自定义请求配置**:开发者可以根据需要自定义超时(timeout)、重...

    Flutter 实战开发-网络请求demo

    本篇内容将深入探讨Flutter中的网络请求,以及如何通过实际示例来实现一个简单的网络请求Demo。 首先,Flutter提供了`http`包用于处理HTTP网络请求。要使用此包,你需要在`pubspec.yaml`文件中添加依赖: ```yaml ...

    C# 模拟Post抓取数据

    POST请求包括一个URL、请求头(headers)和一个包含数据的请求体(body)。在C#中,可以使用`System.Net.Http`命名空间中的`HttpClient`类来创建和发送这样的请求。 以下是一段基础的C#代码示例,演示如何模拟POST...

    android异步请求网络代码

    这里我们关注的是“android异步请求网络代码”,这意味着我们将探讨如何在Android中实现非阻塞的HTTP请求,以及如何对返回的数据进行处理。 首先,Android提供了多种方式来实现异步网络请求,包括`AsyncTask`、`...

    大型SpringMVC,Mybatis,Redis,Solr,Nginx,SSM分布式电商项目视频教程

    在本教程中,将学习如何使用SpringMVC进行前端页面与后端服务之间的交互处理。 1. **SpringMVC架构原理**: - 请求接收:前端发送请求到服务器。 - 控制器(Controller):接收请求并调用相应的业务逻辑处理方法...

    spring-web-3.1.1.RELEASE.jar.zip

    5. 使用消息转换器:通过`HttpMessageConverter`处理请求和响应的体内容,如将对象转换成JSON。 6. 异步处理:对于耗时的操作,可以使用`@Async`标记方法为异步执行。 总结,Spring Web 3.1.1.RELEASE为开发者提供...

    Node.js-使用mongoose-crudify快速建立基于MongoDB的API

    在Node.js开发中,MongoDB是一个非常流行的NoSQL数据库,因其灵活性、高性能和易于使用而备受青睐。Mongoose是Node.js中的一个强大的ORM(对象关系映射)库,它为MongoDB提供了丰富的功能,使开发者可以更方便地操作...

    springboot+mybatis工作中出现的问题汇总和学习新知识的总结.docx

    在Java中,可以使用`@RequestBody`注解来接收前端发送的JSON数据并将其转换为Java对象。原始代码中使用了Map来接收所有参数,而在更新后的代码中,使用了`JSONObject`。 3. **SpringBoot中的RestTemplate**:在示例...

    C# httppost 简化操作

    在.NET框架中,C#是一种常用的编程语言,用于构建各种应用程序,包括Web应用。当我们需要在C#中发送HTTP请求,特别是POST请求时,通常会使用HttpWebRequest或HttpClient类。然而,这些内置类的用法相对繁琐,需要...

    使用原生js封装的ajax实例(兼容jsonp)

    在本文中,我们将深入探讨如何使用原生JavaScript封装一个AJAX(Asynchronous JavaScript and XML)函数,并且这个函数会兼容JSONP(JSON with Padding)模式。AJAX是一种在不刷新整个页面的情况下与服务器交换数据...

    WebApi系列-通过HttpClient来调用WebApi接口.doc

    它在.NET框架中得到了很好的支持和封装。与其他语言如Java或Objective-C中的类似功能相比,`HttpClient`在.NET平台上的实现更加便捷高效。 #### 三、API接口设计与标准性 ##### 3.1 Get方式 Get方法通常用于从...

    短信接口实现

    需要将短信内容、接收手机号码等信息封装成JSON或者查询字符串格式,然后作为POST请求的Body或GET请求的Query String发送。在C#中,可以使用`System.Text.Json`库进行JSON序列化和反序列化,或者使用`UriBuilder`类...

Global site tag (gtag.js) - Google Analytics