Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Saya Mendapat Ralat \"403 Dilarang\" Semasa Membuat Panggilan API Permintaan Python?

Mengapa Saya Mendapat Ralat \"403 Dilarang\" Semasa Membuat Panggilan API Permintaan Python?

Susan Sarandon
Susan Sarandonasal
2024-11-02 03:19:30580semak imbas

Why Am I Getting a

Menyelesaikan masalah "403 Forbidden" Ralat dalam Python Requests API Calls

Apabila cuba mengekstrak data daripada tapak web menggunakan modul permintaan Python, ia bukan jarang ditemui ralat "403 Dilarang". Ralat ini menunjukkan bahawa pelayan enggan memenuhi permintaan kerana sekatan akses.

Pertimbangkan coretan kod berikut:

<code class="python">import requests

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

Apabila dilaksanakan, kod ini mungkin mengembalikan ralat berikut:

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

Isu dalam kes ini timbul daripada fakta bahawa tapak web menolak permintaan GET yang tidak mempunyai pengepala Ejen Pengguna yang betul. Dengan melawati halaman dalam penyemak imbas (cth., Chrome) dan memeriksa trafik rangkaian, kami boleh menentukan Ejen Pengguna yang digunakan oleh penyemak imbas.

Untuk menyelesaikan ralat, kami perlu menambah pengepala Ejen Pengguna kepada permintaan kami, hubungi:

<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 pengepala Ejen Pengguna ditambah, permintaan itu kini seharusnya berjaya menghuraikan kandungan HTML tapak web.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \"403 Dilarang\" Semasa Membuat Panggilan API 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