2

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

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

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

有任何想法吗?!谢谢。

4

1 回答 1

1

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

import pdb

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

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

于 2013-05-16T21:51:57.757 回答