rosauron
2016-07-15 09:33httpclient 发送post请求(https),请求体为xml的字符串类型,获取不到数据
用fiddler发送请求可以获取到参数,但是用httpclient返回500;求解答
(下面是我的部分代码)
ProtocolSocketFactory fcty = new MySecureProtocolSocketFactory();
Protocol.registerProtocol("https", new Protocol("https", fcty, 443));
String response = null;
HttpClient client = new HttpClient();
PostMethod postMethod = new PostMethod(url);
postMethod.getParams().setParameter(
HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
// 设置Post数据
if (!params.isEmpty()) {
String data = "<?xml version=\"1.0\" encoding=\"utf-8\"?><EntityPreMethod><Method>"
+ params.get("Method")
+ "</Method><Parameters>"
+ params.get("Parameters")
+ "</Parameters><AccessId>******</AccessId></EntityPreMethod>";
System.out.println(data);
postMethod.setRequestEntity(new StringRequestEntity(data,
"text/xml", "gbk"));
postMethod.addRequestHeader("Authorization",
"Bearer " + this.getAccessToken());
postMethod.setRequestHeader("Content-Type", "text/xml");
}
try {
int statusCode = client.executeMethod(postMethod);
System.out.println(statusCode);
if (statusCode == HttpStatus.SC_OK) {
response = postMethod.getResponseBodyAsString();
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- Python3.7的Tornado框架,调用HTTPClient获取网页信息,控制台为什么会报乱码?
- python
- tornado
- 2个回答
- 通过POST请求上传大型base64图像时丢失信息
- javascript
- ajax
- php
- 1个回答
- 为什么使用HttpClient发送json总是返回400?
- httpclient
- httppost
- android
- 0个回答
- httpclient 请求过快,导致数据抓取不全
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- httpclient HttpResponse获取不到Location问题
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
换一换