python机械化代理问题

python机械化代理问题,python,django,proxy,mechanize,Python,Django,Proxy,Mechanize,我已经完成了mechanize设置并使用python。我正在添加对使用代理的支持,但是如何检查我是否实际使用了代理 以下是我正在使用的一些代码: ip = 'some proxy ip address' br.set_proxies({"http://": ip} ) 我开始怀疑它是否有效,因为只是为了做一些测试,我输入了: ip = 'asdfasdf' 它没有抛出一个错误。那么,我如何检查它是否真的在使用我传入的代理的ip地址或我的计算机的ip地址呢?有没有办法在mechanize中返回

我已经完成了mechanize设置并使用python。我正在添加对使用代理的支持,但是如何检查我是否实际使用了代理

以下是我正在使用的一些代码:

ip = 'some proxy ip address'
br.set_proxies({"http://": ip} )
我开始怀疑它是否有效,因为只是为了做一些测试,我输入了:

ip = 'asdfasdf'

它没有抛出一个错误。那么,我如何检查它是否真的在使用我传入的代理的ip地址或我的计算机的ip地址呢?有没有办法在mechanize中返回您的ip信息?

我不知道如何使用mechanize处理此问题,但您可以阅读下一个链接,该链接解释了如何在没有mechanize的情况下执行此操作(但仍使用python):

在上述链接中提供的简单解决方案可以很容易地适应您的需要

因此,与行相反:

print "Connection error! (Check proxy)"
你可以用

SucceededYesNo="NO"
SucceededYesNo="YES"
而不是

print "All was fine"
换成

SucceededYesNo="NO"
SucceededYesNo="YES"
现在,有一个变量可供进一步处理

但是,我担心这不包括目标网页关闭的情况,因为相同的错误可能是由两个原因引起的(因此不知道是由于代理服务器不工作还是由于网页不好导致的),但仍然可能是一个解决方案:用上述代码检查一个正常工作的网页怎么样?i、 e.www.google.com?通过这种方式,您可以消除一个原因,而它仍然是另一个原因

也许是这样

br = mechanize.Browser()
br.set_proxies({"http": '127.0.0.1:80'})
您需要调试以获取更多信息

br.set_debug_http(True)
br.set_debug_redirects(True)

如果使用
http://
作为密钥,则mechanize将不会将其识别为代理类型。您必须使用
{“http”:..}