【问题标题】:Why am I getting this error in python ? httplib.BadStatusLine [duplicate]为什么我在 python 中收到此错误? httplib.BadStatusLine [重复]
【发布时间】:2012-09-15 16:09:40
【问题描述】:

可能重复:
Why am I getting this error in python ? (httplib)

我在使用 python 编码时遇到了一些问题,我想在本地 python 服务中使用 abyssws python 创建 Web 服务,但我无法收到响应..而当我从浏览器请求时得到响应..

我的代码是这样的:

import httplib
IP = "local ip"
v_params = ""
conn = httplib.HTTPConnection(IP,8021)
conn.request("GET", v_params)
response = conn.getresponse() 
data_response = response.read()

并得到类似的错误

Traceback(most recent call last):
File "C:\Python24\lib\httplib.py", line 866, in getresponse
   response.begin()
File "C:\Python24\lib\httplib.py", line 336, in begin
 version, status, reason = self._read_status()
File "C:\Python24\lib\httplib.py", line 300, in _read_status
 raise BadStatusLine(line)
httplib.BadStatusLine

有什么建议吗?请帮帮我?

【问题讨论】:

  • 尽量不要重新发明轮子。使用requests

标签: python service


【解决方案1】:

您连接的服务器未发送正确的 HTTP 响应行。这样的响应应该由一个数字和一个人类可读的文本描述组成,例如:

200 Ok

404 Not Found

您需要验证端口 8021 上的服务器发送的内容。尝试从终端使用telnet IP 8021,然后输入GET / HTTP/1.1 之类的内容加上两个换行符以查看服务器返回的内容。

我注意到您的v_params 字符串为空;它可能是您的服务器至少需要空路径 (/)。但是,在这种情况下不发送格式正确的错误代码仍然违反了 HTTP 标准。

【讨论】:

    猜你喜欢
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    相关资源
    最近更新 更多