Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mendapatkan semula URL yang diubah hala menggunakan perpustakaan Permintaan Python?
Mendapatkan semula URL Diubah Hala menggunakan Pustaka Permintaan Python
Dalam bidang pengikisan dan automasi web, selalunya menjadi perlu untuk menjejak ubah hala yang berlaku apabila mengakses halaman web. Pustaka Permintaan Python menyediakan fungsi komprehensif untuk mengurus permintaan HTTP, termasuk keupayaan untuk menavigasi ubah hala. Artikel ini bertujuan untuk menjelaskan cara mendapatkan semula URL yang diubah hala menggunakan perpustakaan Permintaan, menangani pertanyaan yang dibangkitkan dalam komuniti.
Masalah:
Dalam skrip, allow_redirects =Bendera True ditetapkan untuk mengikuti ubah hala secara automatik. Walau bagaimanapun, pengguna ingin menentukan URL akhir yang permintaan itu diubah hala. Timbul persoalan: bagaimanakah seseorang boleh mendapatkan maklumat ini secara pengaturcaraan?
Penyelesaian:
Penyelesaian terletak pada penggunaan atribut response.history yang disediakan oleh Requests. Atribut ini menyimpan senarai respons yang merangkumi keseluruhan perjalanan ubah hala yang menuju ke destinasi akhir. Untuk mengakses URL akhir, sifat response.url boleh digunakan.
Berikut ialah coretan kod yang menunjukkan proses:
response = requests.get(someurl) 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")
Demo:
Pertimbangkan contoh berikut apabila permintaan dibuat ke tapak web yang dikonfigurasikan untuk melaksanakan berbilang ubah hala:
import requests response = requests.get('http://httpbin.org/redirect/3') for resp in response.history: print(resp.status_code, resp.url) print(response.status_code, response.url)
Output:
302 http://httpbin.org/redirect/3 302 http://httpbin.org/redirect/2 302 http://httpbin.org/redirect/1 200 http://httpbin.org/get
Seperti yang terbukti daripada output, kod tersebut berjaya merekodkan kod status dan URL bagi setiap ubah hala, serta destinasi akhir.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan semula URL yang diubah hala menggunakan perpustakaan Permintaan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!