Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membetulkan Ralat \'403 Forbidden\' dalam Permintaan Python?

Bagaimana untuk Membetulkan Ralat \'403 Forbidden\' dalam Permintaan Python?

DDD
DDDasal
2024-11-01 17:04:03518semak imbas

How to Fix

Menyelesaikan Ralat "403 Forbidden" dalam Panggilan API Menggunakan Permintaan Python

Apabila cuba menghuraikan tapak web menggunakan perpustakaan permintaan Python, anda mungkin menghadapi ralat "403 Forbidden" . Ralat ini biasanya menunjukkan bahawa pelayan telah menolak permintaan anda kerana kekurangan kebenaran atau kebenaran yang betul.

Contoh Ralat

Pertimbangkan kod berikut:

<code class="python">url = 'http://worldagnetwork.com/'
result = requests.get(url)
print(result.content.decode())</code>

Kod ini cuba mendapatkan semula dan menyahkod kandungan URL yang ditentukan. Walau bagaimanapun, ia menghasilkan output berikut:

<code class="html"><html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html></code>

Punca Punca

Dalam kes khusus ini, masalah timbul kerana pelayan menolak permintaan GET tanpa pengepala Ejen Pengguna. Pengepala Ejen Pengguna mengenal pasti penyemak imbas atau aplikasi yang menghantar permintaan, yang membantu pelayan menentukan cara mengendalikan permintaan.

Penyelesaian

Untuk menyelesaikan isu ini, nyatakan pengepala Ejen Pengguna dengan jelas dalam permintaan permintaan anda. Berikut ialah contoh:

<code class="python">import requests

url = 'http://worldagnetwork.com/'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
result = requests.get(url, headers=headers)
print(result.content.decode())</code>

Dengan menetapkan pengepala Ejen Pengguna kepada nilai yang sesuai, anda boleh meniru penyemak imbas dengan berkesan dan berjaya mendapatkan semula kandungan tapak web, seperti yang ditunjukkan oleh output berikut:

<code class="html"><!doctype html>
<!--[...]-->
<!--[...]--></code>

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'403 Forbidden\' dalam Permintaan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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