某平台对接验证接口,要求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
分享到:
相关推荐
在本项目中,"utf8转换"意味着代码会包含将数据从其他编码格式转换为UTF-8或从UTF-8转换为其他格式的逻辑。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析...
- **接收并解析响应**:支付宝服务器会返回一个包含交易状态的XML或JSON响应,同样需要以UTF-8解码。 3. **处理乱码问题**: - **页面编码**:确保HTML页面的meta标签正确设置为UTF-8,例如`<meta http-equiv=...
这里我们详细探讨一下如何解决Android POST数据时遇到的UTF-8编码(乱码)问题。 首先,问题的根源在于客户端发送的数据未指定正确的字符编码,导致服务器在接收到数据并尝试以UTF-8格式解码时出现错误。在示例中,...
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...
var content = new StringContent(jsonData, Encoding.UTF8, "application/json"); ``` 5. **发送POST请求**:最后,调用HttpClient的`PostAsync`方法,提供目标URL和内容,发送POST请求。 ```csharp var ...
在JavaScript中,确保使用UTF-8编码序列化JSON对象,在Java服务端,使用`URLDecoder.decode`方法以正确的字符集解码请求参数。在必要时,可以通过前端的URL编码或Base64加密,后端的解码来进一步保证数据传输的准确...
content.Add(new StringContent(jsonData, Encoding.UTF8, "application/json"), "jsonData"); ``` 总结来说,C#提供了强大的工具来处理`multipart/form-data`和JSON数据的POST请求。无论是上传文件、发送复杂的...
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数据,涉及到的关键技术包括QNetworkAccessManager、QJsonDocument、QJsonObject以及UTF-8编码。通过学习和实践这个项目,开发者可以更好地理解Qt...
这个"JAVA确认发货接口(confirm_send_utf-8)"的资源显然是一个针对Java开发者设计的示例或代码库,用于演示如何在Java环境中实现对支付宝的“确认发货”功能。下面我们将详细探讨相关的知识点。 1. **支付宝API集成...
标题中的“php天气预报系统定时生成htm(utf-8版).7z”指的是一个使用PHP语言开发的天气预报系统,该系统具有自动定时生成HTML页面的功能,并且生成的页面编码为UTF-8,确保能正确显示多语言字符。这个压缩包文件可能...
在本文中,我们将深入探讨如何使用C#语言和UTF-8编码来实现这个接口的Demo源码。 首先,`create_direct_pay_by_user`是支付宝接口中的一个关键方法,用于创建并执行即时到账交易。此接口主要由以下几个步骤组成: ...
charset=utf-8"), json); Request request = new Request.Builder() .url(url) .post(requestBody) .build(); client.newCall(request).enqueue(callback); } } ``` 在上面的代码中,我们首先创建了一个`...
1. **编码问题**:确保正确设置字符编码,如UTF-8,以避免数据传输过程中的乱码问题。 2. **错误处理**:对于HTTP响应,应检查其状态码,处理可能出现的错误情况,如400 Bad Request或500 Internal Server Error。 3...
<?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 默认的是UTF-8格式,但在在用dump写入的时候仍然要注意:如下 import json data1 = { "TestId": "testcase001", "Method": "post", "Title": "登录测试", "Desc": "登录基准测试", "Url": ...
1. **请求头的Content-Type设置**:在发送POST请求时,我们需要设置`Content-Type`为`application/x-www-form-urlencoded`或`application/json`等,并指定正确的字符集,如`charset=UTF-8`。例如: ```java ...
调用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"}
charset=utf-8"), jsonObject.toString()); Request request = new Request.Builder() .url("http://yourserver.com/api") .post(requestBody) .build(); ``` 3. **发送请求并处理响应**:使用OkHttpClient发送...
byte[] data = Encoding.UTF8.GetBytes(postData); // 将JSON字符串转换为字节数组 req.ContentLength = data.Length; // 设置内容长度 using (Stream reqStream = req.GetRequestStream()) // 获取请求流 { ...