2011-11-08 12 views
0

私はPythonでウェブサイトに接続し、HTTPステータスコードを取得しようとしています。 this other question of mineの回答が示すように、google.comなどのウェブサイトのHTTPステータスコードが301または302(永久に移動された)の理由は、これらのサーバーがリダイレクトされているためです。しかし、私はそれらから自然な200(OK)を得るようにそれらに接続できるようにしたいと思います。現在のコードは次のとおりです。301コードがウェブサイトをリダイレクトしないようにするにはどうすればよいですか?

import httplib 

conn = httplib.HTTPConnection("google.com", 80) 
conn.request("GET","/") 
r = conn.getresponse() 
print r.status, r.reason 
conn.close() 

これを達成するには何が必要ですか? pycurlライブラリがそれを助けてくれると聞いたことがありますが、グーグルでこれまでのところ有用な結果は得られていません。私はこの分野の初心者ですので、質問が些細なものであれば、私をよろこんでください。

+0

重複した質問:http://stackoverflow.com/questions/301924/python-urllib-urllib2-httplib-confusion –

答えて

2

あなたが望むのは、あなたのコードが301/302に続いて200を返す最後のURLまで続くことです。

urllibを試してみるか、またはrequestsを使用してください。これはpipでインストールできます。

両方urllib、より確実にrequests 301のに従い、302の、あなたを与えるべき要求モジュール上の200

情報を返す最後のページには、ここで見つけることができます: http://pypi.python.org/pypi/requests/

・ホープ、このことができます。

関連する問題