0

HTTP 303 リダイレクトを提供する、取得する URL があります。

import urllib2 as web
import sys

url='http://sample.com'

try: handle=web.urlopen(url)
except web.HTTPError, e:
  print e.code
  sys.exit(1)
data=handle.read()
print 'Result :'
print data

したがって、上記のコード303は結果として 303 リダイレクトを出力します。

リダイレクトに従って、宛先の HTML を取得する必要があります。

助けてください..

編集 :

curl -I http://my303redirecturl.com/

HTTP/1.1 303 See Other
Date: Tue, 23 Aug 2011 04:53:53 IST
Server: Mule Core/3.1.2
Expires: Tue, 23 Aug 2011 04:53:53 IST
http.status: 303
Content-Type: application/json
MULE_ENCODING: UTF-8
Content-Length: 0
Connection: close

これは役に立ちますか?

4

2 に答える 2

3

urllib2 はデフォルトで 303 リダイレクトに従う必要があります。次の例を使用してテストします。

import urllib2
url = 'http://phihag.de/2011/so/303/'
print(urllib2.urlopen(url).read())

上記のコードが example.net のコンテンツを出力するが、URL が出力しない場合、問題の URL は正しい 303 リダイレクトに解決されていません。その場合、 を使用して、デフォルトの代わりにurllib2.build_opener独自の実装を使用するオープナーを取得できます。BaseHandlerHTTPRedirectHandler

于 2011-08-23T10:33:53.227 に答える
0

このページでは、urllib を使用して HTTP リダイレクトを処理する方法について非常によくまとめられています。

HTH

編集:この記事では、リダイレクト URL を取得する方法を示しています。この URL は、別の でリクエストできますurlopen

于 2011-08-23T08:55:32.457 に答える