Python请求模块代理处理器不起作用

1 投票
2 回答
1951 浏览
提问于 2025-04-18 16:24

我正在使用Python的请求模块来进行HTTP通信。在进行任何通信之前,我是通过代理来连接的。

import requests

proxy = {'http': 'xxx.xxx.xxx.xxx:port'}

                   OR

proxy = {'http': 'http://xxx.xxx.xxx.xxx:port'}

                  OR

proxy = {'http://xxx.xxx.xxx.xxx:port'}


requests.get(url, proxies = proxy)

我用上面的代码把代理添加到请求对象中。但是看起来代理没有起作用,请求模块还是用了我的网络IP来发送请求。

请求模块有没有什么bug或者其他已知的问题,或者我是不是漏掉了什么?

2 个回答

0

文档上说:

如果你需要使用代理,可以在任何请求方法中通过proxies参数来配置单独的请求:

import requests
proxies = {"http": "http://10.10.1.10:3128"}
requests.get("http://example.org", proxies=proxies)

这里的proxies["http"] = "http://xxx.xxx.xxx.xxx:port"。看起来你缺少了http://这个部分。

2

试试这个:

proxy = {'http': 'http://xxx.xxx.xxx.xxx:port'}

我想你可能在代理字典的值里漏掉了 http://。 你可以查看这个链接:http://docs.python-requests.org/en/latest/user/advanced/#proxies

撰写回答