2010-02-09 66 views
0

我已經機械化設置和使用python。我添加了對使用代理的支持,但是如何檢查我實際使用代理?python機械化代理問題

下面是一些代碼我使用:

ip = 'some proxy ip address' 
br.set_proxies({"http://": ip}) 

我開始懷疑,如果它是工作,因爲只是做一些測試我鍵入:

ip = 'asdfasdf' 

,並沒有丟一個錯誤。那麼我該如何去檢查它是否真的使用我傳入的代理的IP地址或我的計算機的IP地址?有沒有辦法在機械化返回您的IP信息?

+0

如果使用通過'http://'爲重點,然後機械化不會承認它作爲一個代理類型。你必須使用'{「http」:.....}' – FallenAngel 2012-06-19 12:58:43

回答

0

我不知道如何處理這個問題與機械化,但你可以讀下一個鏈接,介紹如何做沒有機械化(但仍然在python):

Proxy Check in python

簡單的解決方案提供在上述鏈接可以很容易地適應您的需求。

因此,以替代線路:

print "Connection error! (Check proxy)" 

你可以通過

SucceededYesNo="NO" 

更換和替代

print "All was fine" 

只是

SucceededYesNo="YES" 
更換3210

現在,您有一個可用於進一步處理的變量。

但是,我擔心這不會覆蓋目標網頁關閉時的情況,因爲兩種原因可能導致相同的錯誤(所以不知道NO結果是否來自不工作的代理服務器或來自一個糟糕的網頁),但仍然可能是一個解決方案:如何檢查上述代碼的工作網頁?即www.google.com?通過這種方式,你可以消除一個原因,它仍然是另一個原因。

2

也許這樣嗎?

br = mechanize.Browser() 
br.set_proxies({"http": '127.0.0.1:80'}) 

你需要調試的更多信息

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