当前位置: 首页 > 面试题库 >

使用Apache的HTTP客户端时,以字符串形式获取HTTP响应的推荐方法是什么?

裴焱
2023-03-14
问题内容

我刚刚开始使用Apache的HTTP客户端库,并注意到没有将HTTP响应作为字符串获取的内置方法。我只是想以String的形式获取它,以便将其传递给我正在使用的任何解析库。

建议将HTTP响应作为字符串获取的推荐方式是什么?这是我发出请求的代码:

public String doGet(String strUrl, List<NameValuePair> lstParams) {

    String strResponse = null;

    try {

        HttpGet htpGet = new HttpGet(strUrl);
        htpGet.setEntity(new UrlEncodedFormEntity(lstParams));

        DefaultHttpClient dhcClient = new DefaultHttpClient();

        PersistentCookieStore pscStore = new PersistentCookieStore(this);
        dhcClient.setCookieStore(pscStore);

        HttpResponse resResponse = dhcClient.execute(htpGet);
        //strResponse = getResponse(resResponse);

    } catch (ClientProtocolException e) {
        throw e;
    } catch (IOException e) {
        throw e;
    }

    return strResponse;

}

问题答案:

您可以EntityUtils#toString()为此使用。

// ...
HttpResponse response = client.execute(get);
String responseAsString = EntityUtils.toString(response.getEntity());
// ...


 类似资料:
  • 我刚刚开始使用Apache的HTTP客户端库,并注意到没有一个内置的方法将HTTP响应作为字符串获取。我只是想把它作为字符串,这样我就可以把它传递给我正在使用的任何解析库。 以字符串形式获取HTTP响应的推荐方法是什么?以下是我提出请求的代码:

  • 问题内容: 我想解析Web请求的响应,但是在以字符串形式访问它时遇到了麻烦。 如何以字符串形式访问响应?将响应正确地写入文件。 我已经检查过包参考,但并没有真正的帮助。 问题答案: 应该足以给你一个字符串。 从那里,您可以将其用作常规字符串。 有点像这个线程: 另请参阅GoByExample。 如下所述在zzn的答案中,这是一次转换 (请参阅spec)。 有些转换与强制转换相同,例如,只是重新解释

  • 我正在使用Apache HTTP客户端联系外部服务。这项服务可能需要几个小时(如果不是更长的话)才能产生响应。我尝试了一些不同的方法,但要么以套接字结束,要么以读取超时结束。我刚刚尝试使用RequestConfig将套接字和连接超时设置为0,根据文档,这应该是无限的,但请求总是在1小时后返回。有什么想法吗?

  • 问题内容: 在我的Java代码中,我需要向具有3个标头的特定URL发送http发布请求: 这将返回一个带有JSON“键”:“值”对的响应,然后我需要解析以某种方式将键/值(Alan / 72)存储在MAP中。响应为(使用SOAPUI或Postman Rest时): 我可以使用SOAPUI或Postman Rest来执行此操作,但是当出现错误时,如何在Java中执行此操作: 我的代码是: 我们将不胜

  • 问题内容: 当提交HTML表单而不指定方法时,默认的HTTP方法是什么?GET还是POST? 在HTML标准之间这种行为是否发生过变化? 请尽可能引用W3C标准文档。 问题答案: 是GET。 看一下W3C取代的建议书17.3FORM元素。 摘抄: 好读 HTML表单中的GET和POST方法-有什么区别?

  • 问题内容: 我正在使用Java Web应用程序中的apache http客户端(v4),并且在以下情况下遇到问题,对于这些情况,我需要简单的用法示例- (1)如何将Cookie与Apache HTTP客户端一起使用,使用Cookie的可用选项不同 (2)当响应在HTTPResponse对象中可用时,提取字符集,模仿类型,响应头(作为KeyValuePair)和budy(作为byte [])。 问题