-1

私のコードを以下に示し、クライアントからのすべての入力を出力します。

ただし、読んでみると、投稿データが届きません...

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>

アイデアはありますか?

独自の HTTP サーバーをコーディングしたので、POST、GET などを取得するメソッドを実装しました。

4

1 に答える 1

1

まだコメントを投稿できないので(ありがとうございます)、コメントを回答として投稿します。

ヘッダーが 0 ではないためContent-Length、投稿データにフォーム データを含めていなくても、リクエスト ボディにはフォーム データが含まれていると思います。

その場合、input期待されるデータが含まれていない理由を知るために、変数がどこから来たのかを確認する必要があります。input質問を変更し、変数を設定するコードを追加することをお勧めします。

于 2013-03-04T19:05:35.860 に答える