Bagaimana untuk mendapatkan semula URL yang diubah hala menggunakan perpustakaan Permintaan Python?

Susan Sarandon
Lepaskan: 2024-11-16 11:38:03
asal
266 orang telah melayarinya

How to retrieve redirected URLs using the Python Requests library?

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")
Salin selepas log masuk

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)
Salin selepas log masuk

Output:

302 http://httpbin.org/redirect/3
302 http://httpbin.org/redirect/2
302 http://httpbin.org/redirect/1
200 http://httpbin.org/get
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan