Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Menentukan URL Akhir Selepas Ubah Arah Menggunakan Permintaan Python?

Bagaimanakah Saya Menentukan URL Akhir Selepas Ubah Arah Menggunakan Permintaan Python?

Susan Sarandon
Lepaskan: 2024-11-11 12:32:02
asal
996 orang telah melayarinya

How Do I Determine the Final URL After Redirection Using Python Requests?

Menentukan URL Baharu Selepas Pengalihan dengan Perpustakaan Permintaan Python

Pustaka Permintaan Python cemerlang dalam mengendalikan permintaan HTTP, tetapi memahami mekanisme pengalihannya adalah penting untuk mengakses halaman pendaratan akhir. Dengan menetapkan allow_redirects=True, perpustakaan mengikuti permintaan melalui rantai ubah hala. Walau bagaimanapun, untuk mendapatkan URL baru yang diubah hala, anda perlu menyelami lebih dalam sejarah permintaan.

Atribut response.history menyimpan rekod semua respons ubah hala yang ditemui semasa permintaan. Setiap respons dalam senarai sejarah mengandungi kod statusnya dan URL yang diubah halanya. Item terakhir dalam senarai mewakili destinasi akhir, yang disimpan dalam response.url.

Untuk mengakses maklumat ini, gunakan kod berikut:

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

Pertimbangkan contoh berikut:

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

Demonstrasi ini mempamerkan proses mengikuti rantaian ubah hala, mempersembahkan kod status dan URL setiap ubah hala, dan akhirnya memaparkan destinasi terakhir. Dengan menggunakan response.history, anda boleh mengekstrak URL baharu dengan mudah selepas permintaan telah diubah hala.

Atas ialah kandungan terperinci Bagaimanakah Saya Menentukan URL Akhir Selepas Ubah Arah Menggunakan 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