JavaWeb项目使用HttpClient方式请求服务器,服务器怎么把返回信息包装在HttpResponse对象里面?

新手上路,请多包涵

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)

小弟新手,跪求大腿,万分感谢

阅读 5.1k
1 个回答

这个你要看源码了。简单回答一下为什么不行,HttpResponse某些方法访问权限只对所在包开放,你没有权限去操作。
如果你真的要这么做的话,你要将相关类copy一份到你自己的项目来用,不要用第三方jar包中的类了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题