Python リクエストを使用してリダイレクト後の最終 URL を取得するにはどうすればよいですか?
Python リクエストを使用したリダイレクトされた URL の取得
HTTP リクエストを送信するための一般的な Python ライブラリであるRequests を使用すると、ユーザーはallow_redirects を設定することでリダイレクトを処理できます。パラメータを True に設定します。これにより自動リダイレクトの問題は解決されますが、ターゲット URL が分からなくなります。この質問では、一連のリダイレクト後に最終 URL を取得する方法について説明します。
解決策は、response.history 属性にあります。リクエストが成功すると、response.url は最終 URL を返し、response.history はすべての中間レスポンスとそれぞれの URL のリストを提供します。このデータを使用すると、リダイレクトを検査し、最終的な宛先を決定できます。
次のコード スニペットは、このアプローチを示しています。
import requests response = requests.get(someurl, allow_redirects=True) if response.history: print("Request was redirected") for resp in response.history: print(resp.status_code, resp.url) print("Final destination:") print(response.status_code, response.url) else: print("Request was not redirected")
このコードは、response.history 属性が空でないかどうかを確認します。 、リダイレクトの発生を示します。履歴内の各 resp オブジェクトには、ステータス コードと中間応答の URL が含まれています。最後に、response.url は最終 URL を提供します。
次の例を考えてみましょう:
>>> import requests >>> response = requests.get('http://httpbin.org/redirect/3') >>> response.history (<Response [302]>, <Response [302]>, <Response [302]>) >>> for resp in response.history: ... print(resp.status_code, resp.url) ... 302 http://httpbin.org/redirect/3 302 http://httpbin.org/redirect/2 302 http://httpbin.org/redirect/1 >>> print(response.status_code, response.url) 200 http://httpbin.org/get
この出力は、リクエストが http:// の最終宛先に到達するまでに 3 回リダイレクトされたことを確認します。 httpbin.org/get、リダイレクト チェーンの全体像を提供します。
以上がPython リクエストを使用してリダイレクト後の最終 URL を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









