Tout le contenu du réseau est accessible via la demande. Si votre application Python nécessite des informations Web, vous devez faire une demande Web. Cet article plongera dans les demandes de Python. Nous découvrirons la structure des demandes Web et comment faire des demandes Python. En fin de compte, vous pourrez utiliser la bibliothèque de requêtes Python, ce qui facilitera l'ensemble du processus.
Points clés
- http (Hypertext Transfer Protocol) est un protocole client-serveur utilisé pour échanger des données sur le Web. Il utilise TCP comme protocole de transport pour un transport fiable. Les demandes HTTP sont lancées par le client et traitées par le serveur, et le serveur renvoie la réponse correspondante. HTTP est sans état, ce qui signifie qu'il n'y a pas d'association entre deux demandes consécutives. La bibliothèque
- La bibliothèque des demandes Python simplifie le processus de fabrication des demandes HTTP dans Python. Il résume la complexité de la création de demandes et fournit une interface facile à utiliser. Cette bibliothèque permet d'envoyer des demandes HTTP Python de Basic à la complexité. Il peut être installé à l'aide de PIP et est utilisé pour émettre des demandes GET, traiter les codes d'état, lire le corps de réponse et interagir avec l'API.
- L'en-tête HTTP fournit des informations supplémentaires dans la communication HTTP. Ils peuvent être personnalisés dans la bibliothèque Python Demandes pour fournir des informations supplémentaires sur l'expéditeur ou le message. Par exemple, l'en-tête de l'agent utilisateur fournit des informations sur le client qui fait la demande, tandis que l'en-tête d'accept en langage transmet une langue que le client peut comprendre.
Introduction à la demande http
Pour échanger des données sur le Web, nous avons d'abord besoin d'un protocole de communication. Le protocole que nous utilisons lors de la navigation sur le Web est un protocole de transfert hypertexte, ou HTTP. HTTP utilise TCP comme protocole de transport car il nécessite un transport fiable, et seul TCP peut le garantir.
Supposons qu'il y ait une ressource dont nous avons besoin - comme une page HTML sur un serveur Web situé quelque part dans le monde. Nous voulons accéder à cette ressource, ou en d'autres termes, nous voulons afficher la page de notre navigateur Web. La première chose que nous devons faire est de faire des demandes HTTP. HTTP est un protocole client-serveur, ce qui signifie que les demandes sont lancées par le client.
Après avoir reçu la demande, le serveur le traitera et renvoie la réponse correspondante.
La méthode de réponse du serveur peut varier. Il peut envoyer la ressource que nous avons demandée ou répondre au code d'état si une situation inattendue se produit.
Dans chaque protocole de communication, les informations doivent être situées dans un domaine spécifique. En effet, le client et le serveur doivent savoir comment interpréter la demande ou la réponse. Dans la section suivante, nous apprendreons comment les demandes HTTP et les réponses HTTP sont construites. Nous discuterons également du rôle des domaines les plus importants.
demande http
L'une des caractéristiques de conception les plus importantes de HTTP est qu'elle est lisible par l'homme. Cela signifie que lorsque nous regardons les demandes HTTP, nous pouvons tout lire facilement même avec beaucoup de complexité en bas. Une autre caractéristique de HTTP est qu'elle est apatride. Cela signifie qu'il n'y a pas d'association entre deux demandes consécutives. Le protocole HTTP ne se souvient d'aucune demande précédente. Cela signifie que chaque demande doit contenir tout ce dont le serveur a besoin pour effectuer la demande.
Une demande HTTP valide doit contenir les éléments suivants:
- Méthode HTTP - Par exemple, obtenir ou publier
- Version du protocole HTTP
- Chemin de la ressource à obtenir
Nous pouvons ensuite ajouter des en-têtes facultatifs qui spécifient des informations supplémentaires sur l'expéditeur ou le message. Des exemples d'en-têtes de demande HTTP courants incluent l'agent utilisateur ou le langage naturel préféré du client. Les deux en-têtes facultatifs fournissent des informations sur le client qui fait la demande.
Il s'agit d'un exemple de message HTTP où nous pouvons clairement comprendre tous les champs spécifiés:
<code>~~~http GET / HTTP/1.1 Host: www.google.com Accept-Language: en-GB,en;q=0.5 ~~~</code>
La première ligne spécifie le type de demande et la version du protocole HTTP. Nous spécifions ensuite l'hôte et la langue que le client faisant la demande accepte. Habituellement, les messages sont beaucoup plus longs, mais cela peut provoquer leur apparence.
HTTP Response
Maintenant que nous comprenons à quoi ressemble la demande HTTP, nous pouvons continuer à afficher la réponse HTTP.
Les réponses HTTP contiennent généralement les éléments suivants:
- Version du protocole HTTP
- Code d'état avec message court descriptif
- Liste d'en-tête HTTP
- Le corps du message contenant la ressource de demande
Maintenant que nous avons introduit les éléments de base dont vous avez besoin, il vaut la peine de résumer avant de passer à l'étape suivante. Il doit maintenant être clair que chaque fois qu'un client souhaite communiquer avec un serveur HTTP, il doit créer et envoyer une demande HTTP. Ensuite, lorsque le serveur le reçoit, il crée et envoie une réponse HTTP.
Nous sommes enfin prêts à introduire la bibliothèque Python Demandes.
Python Demandes Library
La bibliothèque de requêtes Python vous permet d'envoyer des demandes HTTP Python - des demandes de base aux demandes complexes. La bibliothèque de requêtes Python résume la complexité de la fabrication de demandes Python complexes et fournit une interface facile à utiliser. Dans la section suivante, nous apprendrons à créer une simple demande Python et à interpréter la réponse. Nous découvrirons également certaines des fonctionnalités fournies par la bibliothèque Python Demandes.
Installez les demandes Python
Tout d'abord, nous devons installer la bibliothèque de requêtes Python. Installons-le à l'aide de pip:
<code>$ pip install requests</code>
Après avoir correctement installé la bibliothèque de requêtes Python, nous pouvons commencer à l'utiliser.
Envoyez notre première demande de GET en utilisant les demandes Python
Tout d'abord, nous devons créer un fichier python. Dans cet exemple, nous l'appelons web.py. Dans ce fichier source, insérez le code suivant:
<code>import requests URL = "https://www.google.com" resp = requests.get(URL) print(resp)</code>
Ce programme émet une demande de GET à Google. Si nous exécutons ce programme, nous pouvons obtenir la sortie suivante:
<code>$ python web.py <response></response></code>
Alors, qu'est-ce que cela signifie?
Nous avons déjà discuté des codes d'état. Cette sortie nous indique que notre demande a été reçue, comprise et traitée avec succès. Il existe d'autres codes, nous pouvons énumérer certains des codes les plus courants:
- 301 se sont déplacés de façon permanente. Il s'agit d'un message de redirection. L'URL de la ressource que nous recherchons a été déplacée. La nouvelle URL est livrée avec une réponse.
- 401 non autorisé. Cela indique une réponse d'erreur client. Dans ce cas, le serveur nous dit que nous devons nous authentifier avant de continuer à émettre la demande.
- 404 introuvable. Cela indique également la réponse d'erreur du client. En particulier, cela signifie que le serveur ne peut pas trouver la ressource que nous recherchons.
Et si nous voulons vérifier l'état conditionnellement et fournir des opérations différentes en fonction du code d'état? Nous pouvons le faire facilement:
<code>~~~http GET / HTTP/1.1 Host: www.google.com Accept-Language: en-GB,en;q=0.5 ~~~</code>
Si nous exécutons le script maintenant, nous obtiendrons des résultats différents. Essayez-le et voyez ce que nous obtenons. ?
Si nous avons également besoin du message court descriptif qui est livré avec chaque code d'état, nous pouvons utiliser resp.reason
. Pour le code d'état 200, nous allons simplement aller OK.
Vérifiez la réponse de la demande Python
À ce stade, nous savons comment faire des demandes de base Python. Après la demande, nous devons répondre, non?
Dans la section précédente, nous avons vu comment obtenir le code d'état de la réponse. Maintenant, nous voulons lire le corps de la réponse, c'est-à-dire la ressource réelle que nous avons demandée. Pour ce faire, nous devons utiliser resp.content
. Supposons que nous recherchons la page d'accueil de Google.
Lorsque nous exécutons le script, nous obtenons ce qui suit:
<code>$ pip install requests</code>
J'ai ajouté [...]
parce que la ressource que nous avons obtenue (un document texte / html) était trop longue pour imprimer. Combien de temps dure-t-il? Nous pouvons utiliser len(resp.content)
pour obtenir ces informations. Dans l'exemple ci-dessus, il est 13931 octets - il doit y avoir trop d'impression ici!
(Le contenu suivant est limité par l'espace, seul le résumé est conservé. Veuillez vous référer au texte d'origine pour plus de détails)
en utilisant l'API
L'une des raisons pour lesquelles la bibliothèque Python Demandes est si populaire est qu'elle rend l'interaction avec l'API très facile. Dans ce cas, nous utiliserons une API simple pour prédire l'âge d'une personne, étant donné son nom. Cette API est appelée Agify.
En-tête personnalisé
L'en-tête HTTP fournit des informations supplémentaires aux deux parties à la communication HTTP. Dans l'exemple suivant, nous verrons comment changer l'en-tête d'une demande HTTP GET. En particulier, nous modifierons les en-têtes d'utilisateur et d'agent d'acceptation. User-Agent indique au serveur quelques informations sur l'application, le système d'exploitation et le fournisseur demandant l'agent. L'en-tête d'acceptage transmet une langue que le client peut comprendre.
Conclusion
Dans cet article, nous discutons du protocole HTTP et donnons une brève introduction théorique. Nous avons ensuite examiné la bibliothèque Python Requers. Nous avons appris à rédiger des demandes de base Python HTTP et à les personnaliser en fonction de nos besoins.
FAQ sur les demandes HTTP dans Python
(Le contenu suivant n'est réservé qu'en raison des limitations de l'espace. Veuillez vous référer au texte d'origine pour plus de détails)
- Quelle est la bibliothèque des demandes de Python?
- Comment installer la bibliothèque des demandes?
- Comment faire une demande de GET simple en utilisant les demandes?
- Comment gérer les paramètres de requête dans les demandes GET?
- Comment faire une demande de poste en utilisant les demandes?
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!

La syntaxe de base pour le découpage de la liste Python est la liste [Démarrage: arrêt: étape]. 1.Start est le premier index d'élément inclus, 2.STOP est le premier indice d'élément exclu et 3.StEP détermine la taille de l'étape entre les éléments. Les tranches sont non seulement utilisées pour extraire les données, mais aussi pour modifier et inverser les listes.

ListesoutPerformarRaySin: 1) dynamicingizingandfrequentinSertions / Deletions, 2) StoringheteroGeneousData, and3) MemoryEfficiencyForsparsedata, butmayhaveslightperformanceCostSincertorations.

Toconvertapythonarraytoalist, usethelist () Constructororageneratorexpression.1) ImportTheArrayModuleandCreateArray.2) Uselist (Arr) ou [Xforxinarr] à Convertittoalist, considérant la performance et le domaine de l'émie-efficacité pour les étages.

ChooseArraySoverListsInpyThonforBetterperformanceAndmemeMoryEfficacitéInSpecificScenarios.1) LargenumericalDatasets: ArraySreduceDeMemoryUsage.2)

Dans Python, vous pouvez utiliser pour les boucles, énumérer et les compréhensions de liste pour traverser les listes; En Java, vous pouvez utiliser des boucles traditionnelles et améliorées pour les boucles pour traverser les tableaux. 1. Les méthodes de traversée de la liste Python incluent: pour la compréhension de la boucle, de l'énumération et de la liste. 2. Les méthodes de traversée du tableau Java comprennent: traditionnel pour la boucle et amélioré pour la boucle.

L'article traite de la nouvelle instruction "Match" de Python introduite dans la version 3.10, qui constitue un équivalent pour les instructions de commutation dans d'autres langues. Il améliore la lisibilité du code et offre des avantages de performance par rapport aux if-elif-el traditionnels

Les groupes d'exception dans Python 3.11 permettent de gérer plusieurs exceptions simultanément, améliorant la gestion des erreurs dans des scénarios simultanés et des opérations complexes.

Les annotations de fonction dans Python ajoutent des métadonnées aux fonctions pour la vérification de type, la documentation et la prise en charge de l'IDE. Ils améliorent la lisibilité du code, la maintenance et sont cruciaux dans le développement de l'API, la science des données et la création de bibliothèques.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Version Mac de WebStorm
Outils de développement JavaScript utiles

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft
