如何正确地为某些特殊情况设置Python请求重定向

如何正确地为某些特殊情况设置Python请求重定向,python,redirect,python-requests,Python,Redirect,Python Requests,考虑以下代码段: #!/usr/bin/env python3 # -*- coding: utf-8 -*- import sys import requests from requests import exceptions try: url=sys.argv[1] except IndexError: print('No URL provided.') sys.exit(1) print('\n--- {}\n'.format(url)) try:

考虑以下代码段:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys
import requests
from requests import exceptions

try:
    url=sys.argv[1]
except IndexError:
    print('No URL provided.')
    sys.exit(1)

print('\n--- {}\n'.format(url))

try:
    s = requests.Session()
    r = s.get(url)
except exceptions.TooManyRedirects as t:
    print('ERROR: {}'.format(t))
    r = s.get(url, allow_redirects=False)

print('-----------------------------')
print(r.status_code)
print(r.headers)
代码将URL作为输入,并尝试对其运行GET请求。 我使用session对象管理多个请求上的cookie等

现在我的问题是,我有几个URL(主要是Tumblr),它们将在无限重定向循环中运行,并在尝试30次后中断

例如:

当我使用浏览器或

curl -v -L http://ansgar-skoda.tumblr.com/post/96703389502
重定向工作,我会收到正确的网页。 似乎我没有正确设置这个。在研究Requests docu时,我看到默认情况下allow_redirects选项为True。在这种情况下,用户代理似乎不会影响结果

这里有什么提示吗?
提前谢谢

到今天为止,这是请求中的一个bug

到今天为止,这是请求中的一个错误

奇怪的是,这在Python2中起作用,但我看到了与Python3相同的问题-在这两个版本上都有相同的请求包(2.13.0)。斑点很好。我将把这个问题传递给请求的问题跟踪程序。奇怪的是,这在Python2中起作用,但是我看到了与Python3相同的问题-在这两个版本上都有相同的请求包(2.13.0)。斑点很好。我会将此信息传递给请求的问题跟踪者。