Maison > développement back-end > Tutoriel Python > Comment corriger les erreurs « 403 Forbidden » dans les requêtes Python ?

Comment corriger les erreurs « 403 Forbidden » dans les requêtes Python ?

DDD
Libérer: 2024-11-01 17:04:03
original
586 Les gens l'ont consulté

How to Fix

Résolution des erreurs « 403 interdites » dans les appels d'API à l'aide de requêtes Python

Lorsque vous essayez d'analyser un site Web à l'aide de la bibliothèque de requêtes de Python, vous pouvez rencontrer une erreur « 403 interdite » . Cette erreur indique généralement que le serveur a rejeté votre demande en raison d'un manque d'autorisation ou d'autorisation appropriée.

Exemple d'erreur

Considérez le code suivant :

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

Ce code tente de récupérer et de décoder le contenu de l'URL spécifiée. Cependant, il produit le résultat suivant :

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

Root Cause

Dans ce cas spécifique, le problème survient car le serveur rejette les requêtes GET sans en-tête User-Agent. Un en-tête User-Agent identifie le navigateur ou l'application qui envoie la requête, ce qui aide le serveur à déterminer comment traiter la requête.

Solution

Pour résoudre ce problème, spécifiez explicitement un en-tête User-Agent dans votre demande de demandes. Voici un exemple :

<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

En définissant l'en-tête User-Agent sur une valeur appropriée, vous pouvez efficacement imiter un navigateur et récupérer avec succès le contenu du site Web, comme le démontre le résultat suivant :

<code class="html"><!doctype html>
<!--[...]-->
<!--[...]--></code>
Copier après la connexion

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal