私は奇妙な問題を抱えています。私は、このPythonアプリケーションを持っていると私は、アプリケーション内のURLを開こうとすると、例えばurllib2.urlopen("http://google.com", None)
のために私は次のエラーを取得する:getaddrinfoがホストを解決できません
IOError: [Errno socket error] [Errno 8] nodename nor servname provided, or not known
私はPythonのコマンドラインインタプリタ上で同じことを行うときしかし、それが正常に動作します。同じpython実行可能ファイルが、アプリケーションとコマンドラインの両方で使用されています。
nslookup google.com
うまくいくようです。私はwiresharkを開いて、アプリケーションが開こうとするときのように見えるgoogle.com
"My-Name-MacBook-Pro.local"
のmDNSクエリだけが出ます。しかし、コマンドラインでgoogle.com
を開こうとすると、通常のDNSクエリが"google.com"
になります。私は、/etc/hosts
にGoogleのIPをハードコードしていれば、アプリケーションからの要求が最終的に働き始めました。
アプリケーションがドメイン名を解決する方法を変える必要があると思われますが、これを行う可能性はありません。
私はMac OSX 10.6.7とPython 2.6を使用しています。
編集:私はインターネットに
ようにあなたが実際に 'urllib'または' urllib2'を使用していますか? 'urllib2の場合は、あなたの質問にタグを修正してください'間違っています – agf
あなたはインターネットにアクセスするためにプロキシを使用していますか? – monkut