繁体   English   中英

Python请求模块不适用于带有路径的url

[英]Python requests module does not work for url with path

我的 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]: 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 代码有问题。 它看起来像是主域的唯一代理词(没有任何路径)。

感谢您提供任何信息。

--- 更新于 05/11 我刚刚意识到代理服务器根本不起作用。 我从 proxy4free 得到了代理服务器,看起来它们不是真正的代理服务器,它们是一些像浏览器一样工作的网站。

我尝试了另一个真正的代理服务器,代码都很好执行。 感谢您提供的所有信息。

看起来代理服务器有问题,我认为它无法处理http://api.mongodb.org/python抛出的302

$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

尽管名称不同,但 webproxyserver.info 并未在该位置运行 http 代理。 如果您检查r.text ,您将看到代理对任何地址都不起作用,无论是否有路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM