为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中将http响应正文作为字符串获取?

如何在Java中将http响应正文作为字符串获取?

PIPIONE 2019-09-21 11:39:32
我知道以前有一种通过apache commons获取它的方法,如此处记录的:http : //hc.apache.org/httpclient-legacy/apidocs/org/apache/commons/httpclient/HttpMethod.html 和此处的示例:http://www.kodejava.org/examples/416.html但我认为这已被弃用。还有其他方法可以在Java中发出http get请求,并以字符串而不是流的形式获取响应正文吗?
查看完整描述

3 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

这是我的工作项目中的两个示例。


使用EntityUtils和HttpEntity


HttpResponse response = httpClient.execute(new HttpGet(URL));

HttpEntity entity = response.getEntity();

String responseString = EntityUtils.toString(entity, "UTF-8");

System.out.println(responseString);

运用 BasicResponseHandler


HttpResponse response = httpClient.execute(new HttpGet(URL));

String responseString = new BasicResponseHandler().handleResponse(response);

System.out.println(responseString);


查看完整回答
反对 回复 2019-09-21
?
MYYA

TA贡献1868条经验 获得超4个赞

这是我正在使用来自Apache的httpclient库的另一个简单项目的示例:


String response = new String();

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);

nameValuePairs.add(new BasicNameValuePair("j", request));

HttpEntity requestEntity = new UrlEncodedFormEntity(nameValuePairs);


HttpPost httpPost = new HttpPost(mURI);

httpPost.setEntity(requestEntity);

HttpResponse httpResponse = mHttpClient.execute(httpPost);

HttpEntity responseEntity = httpResponse.getEntity();

if(responseEntity!=null) {

    response = EntityUtils.toString(responseEntity);

}

只需使用EntityUtils即可将响应主体作为字符串获取。很简单。


查看完整回答
反对 回复 2019-09-21
  • 3 回答
  • 0 关注
  • 1262 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信