请问我的HttpClient到底错在哪?该怎么改

not_easy 2015-12-17 05:36:04
我需要用httpclient模拟一个http请求访问一个接口,我用chrome上的工具访问正常,显示请求格式如下
POST /shortmessageservice.asmx/Send?sysName=DFCFMonitor&phoneNumbers=123123123123&content=2131&priority=1 HTTP/1.1
Host: 172.16.88.128
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded

sysName=%E5%93%88%E5%93%88%E5%93%88&phoneNumbers=123123132&content=sdafafd&priority=1

然而我用HttpClient却一直没建立对请求,请问到底错哪了?

CloseableHttpClient client= HttpClients.createDefault();
HttpPost req=new HttpPost(baseURL);
StringEntity entity=new StringEntity("sysName=1213&phoneNumbers=123123132&content=sdafafd&priority=1", Charset.forName("utf-8"));
entity.setContentType("application/x-www-form-urlencoded");
req.setEntity(entity);
System.out.println(req.toString());
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String reuslt = client.execute(req, responseHandler);
System.out.println(reuslt);

报错异常为:
org.apache.http.client.ClientProtocolException
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:214)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:160)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:136)
...全文
122 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
clorxd 2015-12-18
  • 打赏
  • 举报
回复
看不出来,但是ProtocolException是说协议错误,可以看看相关的方面,比如http弄成https之类的

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧