我已经进行了机械化设置并使用python。我正在添加对使用代理的支持,但是如何检查我实际上是否在使用代理?
以下是我正在使用的一些代码:
ip = 'some proxy ip address'
br.set_proxies({"http://": ip} )
我开始怀疑它是否有效,因为只是做了一些我输入的测试:
ip = 'asdfasdf'
并没有抛出错误。那么我该如何检查它是否真的使用我传入的代理的IP地址或我的计算机的IP地址?有没有办法在机械化中返回你的ip信息?
答案 0 :(得分:2)
也许是这样的?
br = mechanize.Browser()
br.set_proxies({"http": '127.0.0.1:80'})
您需要调试以获取更多信息
br.set_debug_http(True)
br.set_debug_redirects(True)
答案 1 :(得分:0)
我不知道如何使用mechanize处理这个问题,但你可以阅读下一个链接,解释如何在没有机械化的情况下(但仍然在python中):
上述链接提供的简单解决方案可以轻松满足您的需求。
因此,而不是行:
print "Connection error! (Check proxy)"
你可以用
代替SucceededYesNo="NO"
而不是
print "All was fine"
只需替换
SucceededYesNo="YES"
现在,您有一个可供进一步处理的变量。
但是我担心这不会涵盖目标网页关闭时的情况,因为两个原因可能会发生相同的错误(因此无法知道NO结果是来自不起作用的代理服务器还是来自一个糟糕的网页),但仍然可以是一个解决方案:如何检查上述代码一个工作网页?即www.google.com?通过这种方式,您可以消除一个原因,它仍然是另一个原因。