我正在使用带有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()
答案 0 :(得分:4)
在处理程序类上设置protocol_version
attribute:
handler.protocol_version = 'HTTP/1.1'
这要求您设置Content-Length
标题,您已经这样做了。