Java HTTP Post问题

Java HTTP Post问题,java,http,post,Java,Http,Post,我的代码如下所示,并打印出客户端的所有输入 除了,当我尝试阅读它时,没有任何帖子数据通过 while ((s = input.readLine()) != null){ System.out.println(s); } 我的帖子数据: POST / HTTP/1.1 Host: localhost Connection: keep-alive Content-Length: 27 Cache-Control: max-age=0 Accept: text/html,applicatio

我的代码如下所示,并打印出客户端的所有输入

除了,当我尝试阅读它时,没有任何帖子数据通过

while ((s = input.readLine()) != null){
    System.out.println(s);
}
我的帖子数据:

POST / HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 27
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Origin: (http://) localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22
Content-Type: application/x-www-form-urlencoded
Referer: (http://) localhost/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
所以我没有收到任何数据,除非我在HTML中添加了一个表单

<form method="post">
    TestText: <input type="text" name="test1"><br>
    TestText2: <input type="text" name="test2">
    <input type="submit" value="Submit">
</form>

测试文本:
TestText2:
有什么想法吗


我已经编写了自己的HTTP服务器,所以我实现了一个方法来获取POST、get和其他内容

,因为我还不能发布评论(谢谢),所以我将发布我的评论作为答案

由于
Content Length
标题不是0,因此我假设请求主体确实包含表单数据,即使您没有将表单数据包含在post数据中


如果是这种情况,那么我们需要查看
输入
变量的来源,以便了解它为什么不包含预期数据。我建议您修改您的问题并添加设置
输入
变量的代码。

您使用的是Apache HttpClient或Servlet或其他技术吗?我可以看到您的表单没有操作,可能是导致问题的原因。如果没有操作属性,它将自动发布。我不知道他是不是想这么做。
表单
标签上需要
操作
,请参见HTML5中的Not,请参见这是一个问题,内容长度显示一个数字,但我没有收到POST数据。input是一个“InputStream”类,它是套接字的输入流。在这种情况下,我不太确定如何在
input
变量上调用readLine(),因为
InputStream
接口没有readLine()方法。相反,我会尝试:
StringBuilder str=newstringbuilder();int-s;而((s=input.read())>-1)str.append(s);System.out.println(str.toString())