java httprequest 从请求中获取正文

标签 java httprequest apache-httpcomponents

我收到来自客户的发布请求。此请求包含一些我想在服务器端分配的 json 数据。我已经使用 httpcore 创建了服务器。 HttpRequestHandler 用于处理请求。这是我认为可行的代码

    HttpEntity entity = ((HttpEntityEnclosingRequest)request).getEntity();

                    InputStream inputStream = entity.getContent();

                    String str = inputStream.toString();

                    System.out.println("Post contents: " + str);*/

但我似乎找不到使用 HttpRequest 对象获取请求正文的方法。如何从请求对象中提取正文?谢谢

最佳答案

您应该使用 EntityUtils,它是 toString方法:

String str = EntityUtils.toString(entity);

getContent 返回流,您需要使用例如手动从中读取所有数据缓冲阅读器。但是 EntityUtils 会为您代劳。
您不能在流上使用 toString,因为它返回对象本身的字符串表示形式,而不是数据。
还有一件事:AFAIK GET 请求不能包含正文,因此您似乎收到了来自客户端的 POST 请求。

关于java httprequest 从请求中获取正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12533824/

相关文章:

java - 在嵌入式 Tomcat 7 中部署 WAR

java - Unicode 组合字符单独打印(不与前一个字符组合)

java - jar无法访问txt文件

java-7 - 尝试使用 API 时出错。 java.lang.NoSuchFieldError : INSTANCE

java - 使用 SolrJ 客户端连接器 3.6 连接到 Solr 1.4

fonts - Java JRE 呈现的字体与 Java JDK 不同,两者版本相同

jmeter - 在 jmeter 中设置整个请求 url

javascript - 带有可选参数的 Typescript 构建 URL

node.js - 使用 nodejs 异步和请求模块

Java HttpComponents 不使用原始 URL 进行 GET 请求