2

编辑:解决了!见下文。

我最近转换为使用requestspython 库。但是,我遇到了一种urllib2有效而requests无效的情况。

import requests, urllib2
url = "http://thepiratebay.se/search/test/0/7/0"
print urllib2.urlopen(url).getcode() # 200 - OK!
print requests.get(url).status_code # 400 :(

我也尝试过设置标题,但它似乎无法解决问题,所以我包含了我的最小示例。其他想法:是否urllib2以某种方式正确处理重定向到 thepiratebay.sx 而requests不是?

提前致谢!


感谢大家的帮助,我升级了requests(1.0.4 => 1.2.2)并解决了问题。哎呀,早该考虑的!

4

2 回答 2

1

requests 库默认情况下会处理重定向,如此处所示

事实上,我无法重现您的问题: 在此处输入图像描述

也许再试一次?

于 2013-05-23T01:00:28.193 回答
0

默认情况下,这两个都应该处理重定向

http://docs.python.org/2/library/urllib2.html中,urllib2 处理“基本和摘要式身份验证、重定向、cookie 等”。

来自http://docs.python-requests.org/en/latest/user/quickstart.html#redirection-and-history “请求将在使用 GET 和 OPTIONS 动词时自动执行位置重定向。”

这两个都为我返回了 200 响应。

于 2013-05-23T00:52:58.877 回答