2011-01-19 11 views
2

httpプロキシとMechanizeモジュールを使用しています。私はMechanizeのオブジェクトを初期化し、そのようにプロキシを設定します。プロキシはMechanizeによって無視されるようですか?

self.br = mechanize.Browser() 
self.br.set_proxies({"http": proxyAddress}) #proxy address is like 1.1.1.1:8080 

は、その後、私はそうのようなサイトを開く:

response = self.br.open("http://google.com") 

私の問題はMechanizeのは、完全にプロキシを無視しているように見えるということです。私がbrオブジェクトをデバッグして調べると、プロキシハンドラの下で私のプロキシ設定が見えます。しかし、悪いプロキシを与えても、私はプロキシを設定していないのと同じように、Mechanizeはそのビジネスについて行きます。何がありますか?

編集: 私も試してみました:

mechanize.install_opener(mechanize.build_opener(mechanize.ProxyHandler({'http': "127.0.0.1:99"}))) 
response = mechanize.urlopen("http://google.com") 

は、そして、それは同様に私のプロキシを無視しているようです。 (私もそれはURLErrorに失敗してはならない、それを有効なプロキシを与えていない?)

+0

誰もがアイデアを持っていますか?私は電子メールリストにも投稿しましたが、まだ回答を得ていません。 – Wes

答えて

1

は、電子メールのリストで話した後、それを考え出した:

import mechanize 
browser = mechanize.Browser() 
browser.set_proxies(proxies={"http": "myproxy.example.com:1234"}, 
       proxy_bypass=lambda hostname: False) 
+1

私はそれを試しましたが、機械化は依然としてプロキシを無視します。 – John