1.问题描述
小弟使用HttpClient向模拟的服务器发送请求,服务器端接收到请求数据了。经过逻辑处理之后,需要返回数据,这时候问题来了,怎么把返回信息封装在HttpResponse对象里面,可以让我获取到。(ps:服务器端是自己模拟的一个接口,本地调用)
2.代码描述
客户端接收信息(通过httpresponse对象获取解析)
//调用接口,定义返回接收对象httpResponse
httpResponse = HttpPostJson.httpPost(jsonObject);
//自定义返回response
System.out.println("返回httpResponse对象:"+httpResponse.toString());
//判断发送状态是否成功
StatusLine statusLine = httpResponse.getStatusLine();
if (httpResponse.getStatusLine().equals("HTTP/1.1 200 OK")){
System.out.println("成功发送!");
}
//取得返回对象,转化成utf-8字符串
HttpEntity httpEntity = httpResponse.getEntity();
result = EntityUtils.toString(httpEntity,"utf-8");
3.报错信息
1.获取不到服务器返回的信息报http/500错误
2.或者获取到html文本标签(貌似没什么暖用)
4.尝试
1.正常声明String方法类型
2.httpResponse对象set方法设值
3.httpEntity对象初始化,然后set到httpResponse对象里
(ps:百度上只有从第三方接口接收到HttpRespose对象,客户端加以解析,千篇一律0_0)
小弟新手,跪求大腿,万分感谢
这个你要看源码了。简单回答一下为什么不行,HttpResponse某些方法访问权限只对所在包开放,你没有权限去操作。
如果你真的要这么做的话,你要将相关类copy一份到你自己的项目来用,不要用第三方jar包中的类了。