以下のコード:
import urllib2
file = urllib2.urlopen("http://foo.bar.com:82")
私のMac(Python 2.7.1を実行しているOS X 10.8.4)で問題なく動作します.URLを開き、問題なくファイルを解析できます.
GoDaddy Python 2.7.3 (または 2.4) でまったく同じコード (これらの 2 行) を試すと、次のエラーが表示されます。
urllib2.URLError: <urlopen error (111, 'Connection refused')
この問題は、アドレスの重要な部分であるポート :82 に関係しています。転送先アドレスをマスキング等で使ってみたのですが、うまくいきません。
ある環境で機能し、他の(表面上は同様の)環境では機能しない理由は何ですか? これを回避する方法はありますか?Mechanize も試してみましたが、役に立ちませんでした。以前の投稿では、urllib2.HTTPBasicAuthHandler に焦点を当てることを提案していましたが、私の OS X 環境では特別なことをしなくても問題なく動作します。
アイデアは大歓迎です。