0

Pythonを使用してWebサイトに接続し、HTTPステータスコードを取得しようとしています。私のこの他の質問に対する答えが示唆しているように、google.comなどのWebサイトのHTTPステータスコードが301または302(永続的に移動)である理由は、これらのサーバーがリダイレクトしているためです。しかし、私は彼らから自然な200(OK)を得るような方法でそれらに接続できるようにしたいと思います。これが私の現在のコードです:

import httplib

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

これを実現するには、何を変更/追加する必要がありますか?図書館がそれを助けてくれるかもしれないと聞きpycurlましたが、グーグルは今のところ有用な結果をもたらしていません。私はこの分野の初心者ですので、些細なことなら失礼します。

4

1 に答える 1

2

私はあなたが望むのはあなたのコードが200を返す最後のURLまで301/302sに従うことだと思いますか?

もしそうなら、あなたはを使ってみることができますurllib、あるいはrequestsあなたがpipでインストールできるものをもっとよく使うことができます。

どちらもurllib、より確実requestsに301と302を追跡し、200を返す最終ページを提供する必要があります。

リクエストモジュールに関する情報はここにあります:http: //pypi.python.org/pypi/requests/

お役に立てれば。

于 2011-11-08T23:58:21.653 に答える