所以我从python脚本向HTTP服务器发送一些JSON数据。在
connection.request('PUT', '/characteristics', json_put_data)
resp3 = connection.getresponse()
print(resp3.read().decode())
服务器正在答复以下内容:
^{pr2}$不知怎么的,我得到了一个python错误
Traceback (most recent call last):
File "test.py", line 28, in <module>
resp3 = connection.getresponse()
File "C:\Python34\lib\http\client.py", line 1172, in getresponse
response.begin()
File "C:\Python34\lib\http\client.py", line 351, in begin
version, status, reason = self._read_status()
File "C:\Python34\lib\http\client.py", line 321, in _read_status
raise BadStatusLine(line)
http.client.BadStatusLine: ''
我的204响应格式是否不正确,或者您不能对204 No-Content响应调用read().decode(),因为在技术上标头后面没有数据?我可以调整其中任何一个(只要它仍然符合httprest标准),因为我正在编写服务器和客户机的程序。谢谢。在
编辑:我已经确定问题出在PUT之后的后续HTTP调用。无论下一个调用是httpget还是PUT,它都会失败,并与我在上面粘贴的跟踪相同。只有在发送PUT后才能复制(我可以根据需要提出任意数量的GET请求)。我开始怀疑我的204 No内容格式不正确,正如我们从wireshark跟踪中看到的那样,它期待着另一个http响应?在
Hypertext Transfer Protocol
HTTP/1.1 204 No Content\r\n
[Expert Info (Chat/Sequence): HTTP/1.1 204 No Content\r\n]
Request Version: HTTP/1.1
Status Code: 204
Response Phrase: No Content
Content-type: json\r\n
\r\n
**[HTTP response 1/2]**
[Time since request: 0.000764000 seconds]
[Request in frame: 4]
[Next request in frame: 14]
目前没有回答
相关问题 更多 >
编程相关推荐