在计划中使用代理

时间:2016-02-26 02:23:34

标签: python python-2.7 encoding proxy character-encoding

所以目前我在如何设置我的程序实例以使用不同的代理来完成所有 Internet相关任务时遇到了麻烦;而且我也有一个错误说明:Failed to parse

现在有了这个错误,我不太确定正确的方法来修复它,因为我从.dat文件中提取信息;虽然我认为这可能是编码错误。

无论如何,现在有了代理,我已经看了一段时间的其他帖子和提交,虽然它仍然没有正常运行。我也一直看到与urllib2有关的帖子。 。 。那不是我想要的。

这基本上就是我正在尝试代理的方式:

proxy = [ . . . ]
os.environ['https_proxy'] = 'http://' + proxy

这也是下面的错误:

Failed to parse: x.xxx.xxx.xxx:xxxx

总体上感谢你的帮助,我很感激。

2 个答案:

答案 0 :(得分:1)

据我所知,改变“整个程序”的代理设置没有灵丹妙药。您必须找出您正在使用的模块(或您正在使用的其他模块正在使用的模块 - 例如pandas使用urllib2)并传递代理配置。以下是最常用模块的两个示例:urllib2requests

urllib2中使用代理的示例(在模块级别上):

proxy  = {"http":"10.111.111.111:8080", "https":"10.111.111.222:8080"}
opener = urllib2.build_opener(urllib2.ProxyHandler(proxy))
urllib2.install_opener(opener)
resp = urllib2.urlopen('http://www.google.com')

requests中使用代理的示例(在函数调用级别上):

proxy = {"http":"10.111.111.111:8080", "https":"10.111.111.222:8080"}
resp  = requests.get('http://www.google.com', proxies = proxy)

答案 1 :(得分:0)

我收到上述错误的原因是:从.dat文件中检索代理时,我没有检查'\n'' '({{1如果您的数据包含空格,则是一个示例,但显然代理字符串不包含空格。

所以一个例子就是在检索到信息后使用' ';如:

.strip