Les demandes Python obtiennent des en-têtes

Les demandes Python obtiennent des en-têtes
Vous découvrirez comment utiliser les en-têtes avec le module Python Demandes. Les en-têtes HTTP vous permettent de transmettre plus d'informations à un serveur et de laisser le serveur vous envoyer des informations supplémentaires en retour. Travailler avec des en-têtes vous permet de faire des choses comme vous authentifier lorsque vous utilisez des API ou dites au demandeur quel type d'informations que votre application attend. Avec l'aide de ce tutoriel, vous apprenez à tout savoir sur les demandes Python Obtenir le sujet des en-têtes avec plusieurs exemples.

Bibliothèque de demande Python

L'une des composantes essentielles de Python pour l'envoi de demandes HTTP à une URL donnée est la bibliothèque des demandes. Les API REST et le grattage Web ont besoin de demandes, qui doivent être apprises avant d'utiliser ces technologies plus loin. Une URL répond aux demandes en renvoyant une réponse. Les demandes Python ont des outils de gestion intégrés pour la demande et la réponse.

C'est un moyen simple de télécharger des fichiers, de publier des données JSON et XML, de soumettre des formulaires HTML et d'envoyer des demandes HTTP en utilisant les méthodes de publication, d'obtenir et de supprimer. La bibliothèque de demandes prend en charge les noms de domaine internationaux et les cookies de session et vérifie automatiquement les certificats SSL du serveur.

En-têtes HTTP

Les en-têtes HTTP permettent aux clients et aux serveurs d'échanger des informations supplémentaires, telles que le type de données et la taille du contenu du post, qui peuvent être envoyées par les clients au serveur et reçues par les clients. Les seules personnes qui peuvent voir les en-têtes HTTP sont des clients, des serveurs et des administrateurs de réseau. Pour le dépannage, les en-têtes HTTP personnalisés sont utilisés pour ajouter plus de détails sur la demande ou la réponse actuelle. Les en-têtes HTTP se composent d'un nom insensible à la cas, d'un côlon (':'), et de sa valeur. Avant la valeur, tous les espaces sont ignorés.

Discutons de quelques instances de la façon dont les en-têtes HTTP Python sont implémentés à l'aide de la bibliothèque de requêtes.

Exemple 1:

Nous allons montrer comment passer les en-têtes HTTP dans les demandes de Get Python dans le premier exemple de notre tutoriel. Le paramètre en-têtes = doit être utilisé. Pour terminer l'opération, utilisez la fonction get (). Le paramètre nécessitera un dictionnaire de paires de valeurs clés. En cela, la clé désigne le type de l'en-tête et la valeur indique la valeur d'en-tête. Les en-têtes HTTP ne sont pas sensibles à la cas; Par conséquent, vous pouvez utiliser n'importe quel cas lorsque vous les spécifiez.

Regardons le code pour passer des en-têtes dans une demande.Méthode get ().

Importer les demandes de req
req_act = req.get ('https: // www.Youtube.com / get ',
en-têtes = 'Content-Type': 'Text / Html')
print ('Success Code is', req_act)

Ici, nous avons déclaré une variable appelée «req_act» et importé le module de demande. Nous utilisons la demande.Méthode get () dans cette variable. Il a l'URL dedans. Enfin, nous avons passé nos en-têtes dans les en-têtes = argument en utilisant les demandes.Fonction Get (). Vous pouvez voir l'instruction d'impression pour afficher la sortie. Le code pour cela peut être vu dans la ligne finale sur la capture d'écran ci-dessus.

Vous pouvez voir que nous recevons la réponse «404» de la capture d'écran de sortie fournie.

Dans l'exemple ci-dessous, vous trouverez les directives pour transmettre des en-têtes HTTP dans les demandes Python.Fonction post ().

Exemple 2:

Évaluons le processus d'examen des en-têtes retournés dans un objet de réponse de demande Python. Vous découvrirez comment ajouter des en-têtes aux demandes de get dans l'exemple précédent. Cependant, les en-têtes seront toujours retournés dans un objet de réponse même si vous n'en mettez pas. L'attribut des en-têtes renvoie non seulement un dictionnaire, mais donne également accès aux en-têtes. Voyons comment récupérer les en-têtes contenus dans un objet de réponse:

Importer les demandes de req
req_headers = req.get ('https: // www.Youtube.com / get ')
imprimer ('en-têtes =', req_headers.têtes)

Nous avons appelé la fonction get () dans le bloc de code ci-dessus pour obtenir un objet de réponse. Les en-têtes de la réponse ont ensuite été accessibles en naviguant vers l'attribut d'en-têtes. Les résultats sont affichés ci-dessous.

Exemple 4:

Voici un exemple du paramètre Param = Ploads. Contrairement à la demande, qui offre une méthode simple de création d'un dictionnaire où les données sont envoyées comme argument à l'aide du mot-clé «param», nous utiliserons le HTTPBIN, qui est ce que les bibliothèques HTTP simples utilisent pour tester. Dans l'exemple ci-dessous, le dictionnaire avec les mots «points et« total »en tant que clés et les nombres 3 et 10 en tant que valeurs correspondantes est fourni comme argument à la commande` `obtenir» où la valeur du paramètre est «Ploads.'Ici, les informations et l'URL sont affichées à l'aide de deux instructions d'impression.

Le code pour les demandes d'envoi contenant des données en charge utile est fournie ci-dessous.

Importer les demandes de req
Ploads = 'Points': 3, 'Total': 10
req = req.get ('https: // httpbin.org / get ', params = plaads)
imprimer (req.texte)
imprimer (req.url)

Voici le résultat:

Exemple 4:

Examinons maintenant comment inclure les en-têtes HTTP dans une demande Python Post. La méthode post () est utilisée lorsque nous voulons envoyer des données au serveur. Après cela, les informations sont conservées dans la base de données.

Utilisez les demandes.Fonction post () dans Python pour initier une demande de post. La méthode post () d'une demande fournit une demande de poste à une URL donnée à l'aide de l'URL des arguments, des données, des JSON et des args.

Vous pouvez inclure des en-têtes HTTP dans une demande post .Méthode post () du module de requêtes Python. Les en-têtes = paramètre peuvent être fournis par un dictionnaire Python. Il est de paires de valeurs clés. Ici, la «clé» est le type de l'en-tête et la «valeur» indique la valeur d'en-tête.

Voyons comment les en-têtes peuvent être transmis dans les demandes.Méthode post ().

Importer les demandes de req
resp_headers = req.poste(
'https: // www.Youtube.com / ',
en-têtes = "Content-Type": "Application / JSON")
imprimer (resp_heders)

Essayons de comprendre en détail le code que nous avons fourni ci-dessus. La bibliothèque des demandes a été importée. Avec l'aide des demandes.Fonction post (), nous avons produit un objet de réponse. Nous avons fourni la fonction une URL. Un dictionnaire des en-têtes a été adopté. Nous avons pu vérifier que la réponse a fourni une réponse réussie de 400 en imprimant la réponse que vous pouvez voir ci-dessous.

Conclusion

Vous avez maintenant appris l'utilisation des en-têtes dans la bibliothèque de la demande de Python. Nous avons couvert tous les détails clés concernant les en-têtes HTTP et la façon de les utiliser. Il a également été discuté de la façon d'utiliser ces en-têtes avec la demande.get () et post () méthodes. Dans cet article, les fonctions get () et post () sont décrites en utilisant plusieurs exemples de programmes avec des captures d'écran.