【问题标题】:Python requests/urllib3 raises 'httplib.BadStatusLine' error if called many times?如果多次调用 Python requests/urllib3 会引发“httplib.BadStatusLine”错误?
【发布时间】:2013-05-11 15:35:05
【问题描述】:

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

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

有许多不同的命令被调用,并不总是相同的命令。我在 GET 请求之间设置了延迟,所以我不认为因为它被请求猛烈抨击,所以它冻结了。 (虽然当我消除延迟时,错误发生的频率要高得多)。

有什么想法吗?!谢谢。

【问题讨论】:

  • 你找出问题的原因了吗?

标签: python-requests httpconnection


【解决方案1】:

这几乎可以肯定是服务器行为异常或连接被抢先关闭。您能否运行 99 次(假设您的 100 数字是准确的)并在第 100 次编辑文件以执行以下操作:

import pdb

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

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

【讨论】:

    猜你喜欢
    • 2013-08-03
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多