7

私は次のように、telnetを使用してhttpリクエストを送信しています。

telnet> open 192.168.4.135 8087
Trying 192.168.4.135...
Connected to 192.168.4.135.
Escape character is '^]'.
POST /rpc/ HTTP/1.1
HOST:192.168.4.135:8087
Content-length:18
Content-type:application/x-http-form-urlencoded

action=loadrsctype
HTTP/1.1 200 OK
Date: Thu, 17 May 2012 03:52:53 GMT
Content-Length: 45
Content-Type: text/html; charset=ISO-8859-1

return=fail&error=Configuration doesn't existHTTP/1.1 400 Bad Request
Content-Type: text/html
Connection: close
Date: Thu, 17 May 2012 03:52:53 GMT
Content-Length: 94

<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
</BODY></HTML>
Connection closed by foreign host.

応答コードは200ですが、なぜこのような段落があるのですか?

HTTP/1.1 400 Bad Request
Content-Type: text/html
Connection: close
Date: Thu, 17 May 2012 03:52:53 GMT
Content-Length: 94

<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
</BODY></HTML>

これはサーバーまたはTelnet自体の出力ですか?これを表示しないようにする方法は?

--update--「HTTP/1.1」を「http/1.1」に変更すると、正しい応答が得られます。これがプロトコルの要件なのか、それともサーバーの実装に関連しているのか、疑問に思います。

4

3 に答える 3

5

では、特に宣言されていない限りHTTP 1.1、すべての接続が考慮されます。persistent

次に...サーバーが偽の改行文字を受信して​​いると思い、Bad Request.

http/1.1代わりに使用すると、バージョンをデフォルトで永続的ではないHTTP/1.1バージョンにフォールバックし、応答後に接続がドロップされます。1.0200 OK

于 2013-02-15T16:01:28.657 に答える
1

に置き換え&てみてください&amp;

于 2013-02-15T15:44:41.817 に答える
0

アクセスしている URL のコードは、テキストを出力しています。

return=fail&error=Configuration doesn't exist

しかし、コードは引き続き HTTP 400 エラーを出力します。おそらく、応答を出力した後に中止するのを忘れたので、コードは HTTP 400 も出力し続けます。

于 2012-05-17T04:20:04.070 に答える