python请求:限制遵循的重定向数量

python请求:限制遵循的重定向数量,python,python-requests,Python,Python Requests,有没有办法限制python请求在执行GET时遵循的重定向数量 allow_redirects=False,但这只会阻止所有重定向。我正在寻找一种方法来跟踪重定向,达到最大跳数 # What I know how to do: resp = requests.get(url) # follows redirects "infinitely" resp = requests.get(url, allow_redirects=False) # follows no redirects # Wha

有没有办法限制python请求在执行GET时遵循的重定向数量

allow_redirects=False
,但这只会阻止所有重定向。我正在寻找一种方法来跟踪重定向,达到最大跳数

# What I know how to do:
resp = requests.get(url)  # follows redirects "infinitely"
resp = requests.get(url, allow_redirects=False)  # follows no redirects

# What I'm trying to do:
resp = requests.get(url, max_redirects=3)  # follow up to 3 redirects
谢谢

您必须创建对象并将
max\u重定向
变量设置为3

session = requests.Session()
session.max_redirects = 3
session.get(url)
TooManyRedirects
如果请求超过最大重定向数,将引发异常


相关github问题讨论了为什么不能为每个请求设置
max\u重定向

如果要获取导致max redect Limit异常的请求的标头(或其他信息),可以这样做:

session = requests.Session()
session.max_redirects = 1
try:
    r = session.post(url, headers=headers, params=querystring, data=payload)
except requests.exceptions.TooManyRedirects as exc:
    r = exc.response
确保您的请求是最新版本