特定の URL について、Python を使用して最終ページ (HEAD リクエストなど) をダウンロードせずに、HTTP リダイレクト後に最終的なインターネットの場所を検出するにはどうすればよいですか。大量ダウンローダーを作成しようとしています。ダウンロード メカニズムは、ダウンロードする前にページのインターネット上の場所を知る必要があります。
編集
私はこれをやったので、これが他の人に役立つことを願っています。私はまだ他の方法を受け入れています。
import urlparse
import httplib
def getFinalUrl(url):
"Navigates Through redirections to get final url."
parsed = urlparse.urlparse(url)
conn = httplib.HTTPConnection(parsed.netloc)
conn.request("HEAD",parsed.path)
response = conn.getresponse()
if str(response.status).startswith("3"):
new_location = [v for k,v in response.getheaders() if k == "location"][0]
return getFinalUrl(new_location)
return url