私は現在、優れた Python Challenge ( http://www.pythonchallenge.com/ ) に取り組んでいます。私が取り組んでいる現在の問題は、urllib ライブラリの使用に関するものですが、問題が発生しています。このライブラリを使用して、会社のファイアウォールを介してサイトに接続しようとしています。いくつかのコードから始めましょう:
proxy = {'http':'http://my.companys.proxy/proxy.pac'}
urllib.urlopen('http://www.pythonchallenge.com', proxies=proxy).read()
これにより http 応答が得られますが、奇妙なことに、Apache HTTP サーバーのテスト ページです。
...Red Hat Enterprise Linuxテスト ページ... このページは、インストール後の Apache HTTP サーバーの適切な動作をテストするために使用されます。
そのため、ファイアウォールの外側で http 接続を正常に達成しているように見えますが、ブラウザとは異なる http 応答を取得しています。別の手がかり (またはない) は、about.php ページに接続しようとしたときです。
urllib.urlopen('http://www.pythonchallenge.com/about.php', proxies=proxy).read()
ただし、これにより次の結果が得られます。
404 見つかりません... Apache 2.2.3 Red Hat サーバー (www.pythonchallenge.com) ポート 80
上記の両方のアドレスは、私のブラウザーでは問題なく機能します (同じプロキシを使用)。私が間違っているアイデアはありますか?