Python请求模块不适用于路径为的url
我的Python版本是2.7,在Ubuntu机器上运行。我试图使用请求通过代理服务器获取某些页面,但它不适用于具有完整路径的URL。下面是一个例子来说明这个问题Python请求模块不适用于路径为的url,python,proxy,python-requests,Python,Proxy,Python Requests,我的Python版本是2.7,在Ubuntu机器上运行。我试图使用请求通过代理服务器获取某些页面,但它不适用于具有完整路径的URL。下面是一个例子来说明这个问题 In [30]: proxies Out[30]: {'http': 'http://webproxyserver.info:80'} In [31]: url = 'http://api.mongodb.org/' In [32]: r = requests.get(url,proxies = proxies) In [33]:
In [30]: proxies
Out[30]: {'http': 'http://webproxyserver.info:80'}
In [31]: url = 'http://api.mongodb.org/'
In [32]: r = requests.get(url,proxies = proxies)
In [33]: r.status_code
Out[33]: 200
In [34]: url_1 = 'http://api.mongodb.org/python'
In [35]: r = requests.get(url_1,proxies = proxies)
In [36]: r.status_code
Out[36]: 404
我不确定这是否是代理的问题?或者我的Python代码有问题。它看起来像是主域的仅代理字(没有任何路径)
谢谢你提供的任何信息
---更新于2011年5月5日
我刚刚意识到代理服务器根本不工作。我从proxy4free获得了代理服务器,看起来它们不是真正的代理服务器,它们是一些像浏览器一样工作的网站
我尝试了另一个真正的代理服务器,代码执行起来很好。感谢您提供的所有信息。尽管名称不同,webproxyserver.info在该位置不运行http代理。如果您检查
r.text
,您将看到代理对于任何地址都不起作用,无论是否有路径。代理服务器似乎有问题,我认为它无法处理抛出的302
http://api.mongodb.org/python
$export http_proxy=
$curl -s -w '%{http_code}\n' 'http://api.mongodb.org/' -o /dev/null
200
$curl -s -w '%{http_code}\n' 'http://api.mongodb.org/python' -o /dev/null
302
$export http_proxy='http://webproxyserver.info:80'
$curl -s -w '%{http_code}\n' 'http://api.mongodb.org/' -o /dev/null
200
$curl -s -w '%{http_code}\n' 'http://api.mongodb.org/python' -o /dev/null
404
代码看起来没问题是的,你是对的。代理服务器URL根本不工作。