urllib2 が選択した URL へのリダイレクト リクエストを追跡するのをどのように防ぐことができるのか疑問に思っています。ブラウジング中に次のコード スニペットを見つけましたが、グローバルに動作するようで、特定の URL でリダイレクトを無効にしたいだけです。
import urllib2
class RedirectHandler(urllib2.HTTPRedirectHandler):
def http_error_302(self, req, fp, code, msg, headers):
result = urllib2.HTTPError(req.get_full_url(), code, msg, headers, fp)
result.status = code
return result
http_error_301 = http_error_303 = http_error_307 = http_error_302
opener = urllib2.build_opener(RedirectHandler())
webpage = opener.open('http://www.website.com').geturl()
print webpage
また、urllib.urlopen('site.com') を使用して URL を要求していることにも言及する必要があります。たとえば、site.com が site.com/redirect にリダイレクトするとしますが、最初のリダイレクトを許可する必要があります。 site.com/redirect から site.com/secondredirect に再度リダイレクトします。スクリプトで URL 内の「secondredirect」を認識し、そのリクエストが発生しないようにしたいと考えています。私はこれをすべてうまく説明し、これを理解しようとして何時間も費やしてきたので、いくつかの返信を期待しています:headache: