我收到来自客户的发布请求。此请求包含一些我想在服务器端分配的 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/