如何避免/防止Python中的请求出现Max Redirects错误?

Jua*_*oto 4 python http request web python-requests

尽量避免Number of Redirects Exceeds 30错误python-requests.有什么我可以做的,以避免它,或者它是纯粹的服务器端?我在尝试时遇到了这个错误GET facebook.com.

非常感谢!

Mar*_*ers 10

服务器被重定向你在一个循环中.您需要弄清楚为什么要经常重定向.

你可以试试,看看有什么用那张没有允许重定向(套allow_redirects=False),然后使用解决这些.resolve_redirects()API:

>>> 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
Run Code Online (Sandbox Code Playgroud)

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