4

试图避免Number of Redirects Exceeds 30python-requests. 我可以做些什么来避免它,还是纯粹是服务器端的?我在尝试GET facebook.com.

非常感谢!

4

1 回答 1

12

服务器正在循环重定向您。您需要弄清楚为什么您经常被重定向。

您可以尝试通过不允许重定向(设置)来查看发生了什么然后使用APIallow_redirects=False解决它们:.resolve_redirects()

>>> import requests
>>> url = 'http://httpbin.org/redirect/5'  # redirects 5 times
>>> session = requests.session()
>>> r = session.get(url, allow_redirects=False)
>>> r.headers.get('location')
'/redirect/4'
>>> for redirect in session.resolve_redirects(r, r.request):
...     print redirect.headers.get('location')
... 
/redirect/3
/redirect/2
/redirect/1
/get
None

redirect对象是适当的反应;从这些中打印出您需要弄清楚为什么最终会进入重定向循环的原因;也许服务器正在标题或正文中提供线索。

于 2013-06-05T20:05:29.453 回答