如何正确地为某些特殊情况设置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)。斑点很好。我会将此信息传递给请求的问题跟踪者。