如果多次调用Python请求/ urllib3会引发'httplib.BadStatusLine'错误?

时间:2013-05-16 16:15:23

标签: python-requests httpconnection

我有一个使用python请求的python程序。我希望能够按顺序多次运行该程序。代码可以自己执行,并且运行时没有任何错误。但是,当我尝试运行100次时,最终会引发此错误:

ConnectionError: HTTPConnectionPool(host='192.168.100.1', port=80): Max retries exceeded with url: 'command' (Caused by <class 'httplib.BadStatusLine'>: '')

有许多不同的命令被调用,并且并不总是相同的命令。我在GET请求之间延迟了,所以我不认为这是因为它被请求猛烈抨击,它会冻结。 (虽然当我拿出延迟时,错误会更频繁地发生。)

任何想法?!感谢。

1 个答案:

答案 0 :(得分:1)

这几乎可以肯定是服务器行为不端或连接被先发制人关闭。你可以运行99次(假设你的100号码是准确的)并且在第100次编辑要执行的文件:

import pdb

# before line with the call to requests
pdb.set_trace()

然后通过HTTPAdapter跟踪堆栈跟踪并进入urllib3并查看urllib3得到的响应?