我怎么能在响应中忽略 Retry-after 标头?

问题描述

我想在响应中忽略“Retry-after”标头,我使用 urllib3 发送 http 请求。

代码如下:

http = urllib3.PoolManager(timeout=urllib3.Timeout(connect=connecttimeout,read=readtimeout))
rq = http.request('GET',body=body,headers=headers,url='http://'+ url,redirect=2,retries=2)
rq.close()

如何允许重定向和重试?我仍然想使用 http.request()

解决方法

查看util.retry.Retry。它需要一个 respect_retry_after_header 标志。

例如:

retries = Retry(connect=5,read=2,redirect=5,respect_retry_after_header=False)
http = PoolManager(retries=retries)
response = http.request('GET','http://example.com/')