`
lcy521
  • 浏览: 3897 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

POST JSON(UTF-8)

    博客分类:
  • JSON
阅读更多

某平台对接验证接口,要求POST JSON数据,必须放到body里,记录一下。

 

请求格式如下:

 

POST 请求url HTTP1.1
Content-Type: application/json

{
"aa":"xxx",
"bb":1332406591685,
"cc":{"hh":1,"h2":5,"h3":0},
"dd":{
"mm":"aaaaaaa-bbbb-ccccc"
},
"ss":"1356544548654654654"
}
 

 

代码:

 

public static String doPost(String url, String params) {
         DefaultHttpClient httpclient = new DefaultHttpClient();  
         String body = null;
         
         HttpPost post = postForm(url, params, httpclient);
           
         body = invoke(httpclient, post);  
         
         httpclient.getConnectionManager().shutdown();  
           
         return body;  
     }  
       
     private static String invoke(DefaultHttpClient httpclient,  
             HttpUriRequest httpost) {  
           
         HttpResponse response = sendRequest(httpclient, httpost);  
         String body = paseResponse(response);  
           
         return body;  
     }  
   
     private static String paseResponse(HttpResponse response) {  
         HttpEntity entity = response.getEntity();  
           
         System.out.println("response status: " + response.getStatusLine());
           
         String body = null;  
         try {  
             body = EntityUtils.toString(entity);
         } catch (ParseException e) {  
             e.printStackTrace();  
         } catch (IOException e) {  
             e.printStackTrace();  
         }  
           
         return body;  
     }  
   
     private static HttpResponse sendRequest(DefaultHttpClient httpclient, HttpUriRequest httpost) {  
         HttpResponse response = null;  
         try {  
             response = httpclient.execute(httpost);  
         } catch (ClientProtocolException e) {  
             e.printStackTrace();  
         } catch (IOException e) {  
             e.printStackTrace();  
         }  
         return response;  
     }  
   
     private static HttpPost postForm(String url, String body, HttpClient httpclient){  
         HttpPost httpost = null;
         try {
			HttpParams params = httpclient.getParams();
			HttpConnectionParams.setConnectionTimeout(params, 20000);
			HttpConnectionParams.setSoTimeout(params, 20000);
			httpost = new HttpPost(url);
			httpost.setHeader("Content-Type", "application/x-www-form-urlencoded");
			httpost.setEntity(new ByteArrayEntity(body.getBytes("UTF-8")));
         } catch (UnsupportedEncodingException e) {
             e.printStackTrace();  
         }  
         return httpost;  
     }

 

所需jar包:

1.commons-logging-1.1.1.jar

2.commons-codec-1.6.jar

3.httpclient-4.2.jar

4.httpcore-4.2.jar

分享到:
评论

相关推荐

    Delphi XE + IdHTTPServer + utf8转换 + json解析(源码+测试可用)

    在本项目中,"utf8转换"意味着代码会包含将数据从其他编码格式转换为UTF-8或从UTF-8转换为其他格式的逻辑。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析...

    支付宝asp集成_utf-8

    - **接收并解析响应**:支付宝服务器会返回一个包含交易状态的XML或JSON响应,同样需要以UTF-8解码。 3. **处理乱码问题**: - **页面编码**:确保HTML页面的meta标签正确设置为UTF-8,例如`<meta http-equiv=...

    android POST数据遇到的UTF-8编码(乱码)问题解决办法

    这里我们详细探讨一下如何解决Android POST数据时遇到的UTF-8编码(乱码)问题。 首先,问题的根源在于客户端发送的数据未指定正确的字符编码,导致服务器在接收到数据并尝试以UTF-8格式解码时出现错误。在示例中,...

    http/https请求工具类

    charset=utf-8"; public static String MIME_TYPE_XML = "application/xml;charset=utf-8"; public static String MIME_TYPE_JSON = "application/json;charset=utf-8"; public static String MIME_TYPE_TEXT...

    httpclient post json 数据

    var content = new StringContent(jsonData, Encoding.UTF8, "application/json"); ``` 5. **发送POST请求**:最后,调用HttpClient的`PostAsync`方法,提供目标URL和内容,发送POST请求。 ```csharp var ...

    Java Http请求传json数据乱码问题的解决

    在JavaScript中,确保使用UTF-8编码序列化JSON对象,在Java服务端,使用`URLDecoder.decode`方法以正确的字符集解码请求参数。在必要时,可以通过前端的URL编码或Base64加密,后端的解码来进一步保证数据传输的准确...

    c#下post multipart/form-data和JSON

    content.Add(new StringContent(jsonData, Encoding.UTF8, "application/json"), "jsonData"); ``` 总结来说,C#提供了强大的工具来处理`multipart/form-data`和JSON数据的POST请求。无论是上传文件、发送复杂的...

    json-servlet-ajax

    response.setCharacterEncoding("UTF-8"); response.getWriter().write(jsonString); // AJAX端 var xhr = new XMLHttpRequest(); xhr.open("POST", "yourServletUrl", true); xhr.setRequestHeader("Content-Type...

    Qt 写的http 请求使用POST Json

    总结来说,这个项目展示了如何在Qt环境中使用HTTP POST方法发送JSON数据,涉及到的关键技术包括QNetworkAccessManager、QJsonDocument、QJsonObject以及UTF-8编码。通过学习和实践这个项目,开发者可以更好地理解Qt...

    JAVA确认发货接口(confirm_send_utf-8).

    这个"JAVA确认发货接口(confirm_send_utf-8)"的资源显然是一个针对Java开发者设计的示例或代码库,用于演示如何在Java环境中实现对支付宝的“确认发货”功能。下面我们将详细探讨相关的知识点。 1. **支付宝API集成...

    php天气预报系统定时生成htm(utf-8版).7z

    标题中的“php天气预报系统定时生成htm(utf-8版).7z”指的是一个使用PHP语言开发的天气预报系统,该系统具有自动定时生成HTML页面的功能,并且生成的页面编码为UTF-8,确保能正确显示多语言字符。这个压缩包文件可能...

    最新3.3支付宝即时到账交易接口demo源码c#-utf-8源码

    在本文中,我们将深入探讨如何使用C#语言和UTF-8编码来实现这个接口的Demo源码。 首先,`create_direct_pay_by_user`是支付宝接口中的一个关键方法,用于创建并执行即时到账交易。此接口主要由以下几个步骤组成: ...

    Okhttp框架post json封装

    charset=utf-8"), json); Request request = new Request.Builder() .url(url) .post(requestBody) .build(); client.newCall(request).enqueue(callback); } } ``` 在上面的代码中,我们首先创建了一个`...

    c#post multipart/form-data和JSON数据

    1. **编码问题**:确保正确设置字符编码,如UTF-8,以避免数据传输过程中的乱码问题。 2. **错误处理**:对于HTTP响应,应检查其状态码,处理可能出现的错误情况,如400 Bad Request或500 Internal Server Error。 3...

    JSON入门教程-非常实用的JSON课件

    <?xml version='1.0' encoding='UTF-8'?> <fullname>Sean Kelly <org>SK Consulting <address type='work'>kelly@seankelly.biz <address type='home' pref='1'>kelly@seankelly.tv ...

    解决python3 json数据包含中文的读写问题

    python3 默认的是UTF-8格式,但在在用dump写入的时候仍然要注意:如下 import json data1 = { "TestId": "testcase001", "Method": "post", "Title": "登录测试", "Desc": "登录基准测试", "Url": ...

    java 用HttpsURLConnection进行传递中文时错误总结

    1. **请求头的Content-Type设置**:在发送POST请求时,我们需要设置`Content-Type`为`application/x-www-form-urlencoded`或`application/json`等,并指定正确的字符集,如`charset=UTF-8`。例如: ```java ...

    调用pb开发的webserver(HTTP POST)

    调用pb开发的webserver(HTTP POST) /*POST /webservice/n_webservice.asmx/uf_ab HTTP/1.1...<?xml version="1.0" encoding="utf-8"?> <short xmlns="http://webi.org">short*/ //出参是json格式{"statusCode":"2"}

    android-post-json.7z

    charset=utf-8"), jsonObject.toString()); Request request = new Request.Builder() .url("http://yourserver.com/api") .post(requestBody) .build(); ``` 3. **发送请求并处理响应**:使用OkHttpClient发送...

    C#通过post提交json字符串

    byte[] data = Encoding.UTF8.GetBytes(postData); // 将JSON字符串转换为字节数组 req.ContentLength = data.Length; // 设置内容长度 using (Stream reqStream = req.GetRequestStream()) // 获取请求流 { ...

Global site tag (gtag.js) - Google Analytics