Pourquoi est-ce que je reçois une erreur « 403 Forbidden » lorsque j'effectue des appels d'API de requêtes Python ?

Susan Sarandon
Libérer: 2024-11-02 03:19:30
original
584 Les gens l'ont consulté

Why Am I Getting a

Dépannage des erreurs « 403 interdites » dans les appels d'API de requêtes Python

Lorsque vous tentez d'extraire des données d'un site Web à l'aide du module de requêtes de Python, ce n'est pas le cas. Il est rare de rencontrer une erreur « 403 Forbidden ». Cette erreur indique que le serveur refuse de répondre à la demande en raison de restrictions d'accès.

Considérez l'extrait de code suivant :

<code class="python">import requests

url = 'http://worldagnetwork.com/'
result = requests.get(url)
print(result.content.decode())</code>
Copier après la connexion

Une fois exécuté, ce code peut renvoyer l'erreur suivante :

<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>
Copier après la connexion

Le problème dans ce cas vient du fait que le site Web rejette les requêtes GET qui ne disposent pas d'un en-tête User-Agent approprié. En visitant la page dans un navigateur (par exemple, Chrome) et en inspectant le trafic réseau, nous pouvons déterminer le User-Agent utilisé par le navigateur.

Pour résoudre l'erreur, nous devons ajouter l'en-tête User-Agent à nos demandes, appelez :

<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>
Copier après la connexion

Avec l'en-tête User-Agent ajouté, la requête devrait maintenant réussir à analyser le contenu HTML du site Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!