我有一个有两台服务器的网站——一台专门用于面向客户端的 Web 服务,另一台是更强大的数据处理服务器。
我目前有一个过程,其中 Web 服务器与数据服务器联系以获取通常如下所示的多个请求:
payload = {'req_type':'data_processing', 'sub_type':'data_crunch', 'id_num':12345}
r = requests.get('https://data.mywebsite.com/_api_route', params = payload)
...在过去一年的大部分时间里,它一直像发条一样运转。然而,在数据服务器上创建了一个 pandas-heavy 函数后,我得到了以下错误(我无法想象这与 pandas 有什么关系,但我想我还是会把它扔在那里):
HTTPSConnectionPool(host='data.mywebsite.com', port=443):
Max retries exceeded with url: /_api_route?......
(Caused by <class 'httplib.BadStatusLine'>: '')
两台服务器都运行 ubuntu、python 和 Requests 库来处理服务器之间的通信。
这里有一个类似的问题:
Max retries exceeded with URL ,但 OP 正在询问是否联系他无法控制的服务器 - 我可以对双方进行编码,所以我希望我可以更改我的数据服务器上的某些内容,但不确定它会是什么。
最佳答案
重试时更改数字不会解决您的问题。 Caused by <class 'httplib.BadStatusLine'>: ''
是您应该解决的问题。服务器返回一个空的 HTTP 状态码,而不是“200”或“500”之类的东西。
关于Python 请求 : Allow more retries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43056942/