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

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

籍利
2023-03-14
问题内容

我知道曾经有一种使用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请求并以字符串而不是流的形式获取响应正文吗?


问题答案:

我能想到的每个库都返回一个流。你可以使用IOUtils.toString()Apache的百科全书IO读取一个InputStreamString一个方法调用。例如:

URL url = new URL("http://www.example.com/");
URLConnection con = url.openConnection();
InputStream in = con.getInputStream();
String encoding = con.getContentEncoding();
encoding = encoding == null ? "UTF-8" : encoding;
String body = IOUtils.toString(in, encoding);
System.out.println(body);

更新:我将上面的示例更改为使用响应中的内容编码(如果可用)。否则,作为最佳猜测,它将默认为UTF-8,而不是使用本地系统默认值。



 类似资料:
  • 问题内容: 将编码的字符串添加到http共振似乎将某些字符替换为!F(MISSING)。如何预防? 输出: {“ encodedText”:“ M6c8RqL61nMFy%!F(MISSING)hQmciSYrh9ZXgVFVjO”} 码: 问题答案: 您正在使用转义值“ M6c8RqL61nMFy%2FhQmciSYrh9ZXgVFVjO”作为以下行上的格式字符串: Fprintf尝试格式化动词

  • 我有如下json格式 我想从中过滤名称,数组名称=[name1, name2] 我已经尝试过在这里 http://gotoanswer.com/?q=How 在JAVA中解析此JSON响应 然后成功。 但是我怎样才能动态地将json格式从响应转换成字符串,这样我就可以输入到字符串jsonString了。

  • 我正在使用Spring Web创建一个rest资源。我用Java创建了类似于Json响应的文档对象。当我使用String.class作为响应类型时,我从请求中获取响应。当我更改对我创建的类的响应时,boy是null。 这是我的httpgetter Json文档 函数调用 JSON响应

  • 这不是一个重复的问题。我正在使用Revovit2.0和json来完成网络任务。另外,我没有使用GSON解析json,而是使用简单的JsonObject和JsonArray从json字符串获取模型对象。首先,指导我在上述情况下必须使用哪种改型转换器。 其次,我无法将json字符串作为响应字符串。 我尝试了两种方法--方法1--我使用了call 。在本例中,response.body()返回null,

  • 问题内容: 我正在使用python 2.7,我想解析已经从文本文件中提取的字符串HTTP响应字段。最简单的方法是什么?我可以使用BaseHTTPServer解析请求,但无法为响应找到内容。 我的回复非常标准,并采用以下格式 提前致谢, 问题答案: 您可能会发现这很有用,请记住HTTPResponse并非旨在“由用户直接实例化”。 还要注意,响应字符串中的content- length标头可能不再有

  • 如果我尝试实现一个自定义转换器(我在网上找到了一些例子),它会抱怨我没有实现抽象方法convert(F),而这些例子都没有实现。 谢了。