HttpExchange GET 到达为空
我创建了一个基于 com.sun.net.httpserver.HttpExchange 的 HttpServer。 在我的处理程序中,com.sun.net.httpserver.HttpHandler 的实现中,方法 public void handle(HttpExchange Exchange) 获取带有空 requestBody 的交换。 在服务器端我使用:
server.createContext("/", new BbHandler());
在我的 Midlet 客户端上我使用:
String url = "http://localhost:22334/name=john";
为什么交换的 requestBody 没有数据可读取? 谢谢, 埃亚尔。
I've created a HttpServer based on com.sun.net.httpserver.HttpExchange.
in my handler, impementation of com.sun.net.httpserver.HttpHandler, the method public void handle(HttpExchange exchange) gets an exchange with empty requestBody.
On the server side i'm using:
server.createContext("/", new BbHandler());
On my Midlet client i'm using:
String url = "http://localhost:22334/name=john";
Why exchange's requestBody has no data to read?
Thanks,
Eyal.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最可能的原因是没有可读取的正文。您提供的字段位于 URL 中,并且可以在交换对象的 getRequestURI() 调用中使用(尽管它可能不会出现在 getQuery() 部分中) URI 对象,因为它缺少 URI 查询参数所需的 ? 分隔符),但正文中没有任何内容。大多数情况下,GET 请求没有正文内容,而 PUT 或 POST 请求则有。
The most likely cause is that there is no body to be read. Your provided field is in the URL and would be available in the getRequestURI() call on the exchange object (though it probably won't be in the getQuery() part of the URI object because it is missing the ? separator the URI would expect for query parms), but nothing in the body. Most often a GET request does not have body contents, a PUT or POST request would.