2

PythonでBaseHttpを使用してサーバーを実行しています。

HTTP/1.1 に基づくクライアントからリクエストを受け取りました

しかし、私が応答でクライアントに返信すると、クライアントは応答を受け入れることを拒否します。さらに分析すると、送信している HTTP バージョンが HTTP/1.0 であることがわかりました。ただし、どのように設定されているかわかりません。

クライアント側のエラーです。

Original message: not well-formed (invalid token): line 2, column 4 
Response 
HTTP/1.0 200 OK
Server: BaseHTTP/0.3 Python/2.7.5
Date: Wed, 30 Jul 2014 15:11:42 GMT
Content-type: application/soap+xml; charset=utf-8
Content-length: 823

次の方法でヘッダーを設定しています。

self.send_response(200)
self.send_header("Content-type", "application/soap+xml; charset=utf-8")
self.send_header("Content-length", content_length)
self.end_headers()
4

1 に答える 1

5

ハンドラ クラスにprotocol_version属性を設定します。

handler.protocol_version = 'HTTP/1.1'

Content-Lengthこれには、すでに行っているヘッダーを設定する必要があります。

于 2014-07-30T16:45:42.393 に答える