Python - Client HTTP

Dans le protocole http, la requête du client atteint le serveur et récupère certaines données et métadonnées en supposant qu'il s'agit d'une requête valide. Nous pouvons analyser cette réponse du serveur à l'aide de diverses fonctions disponibles dans le module de requêtes python. Ici, les programmes python ci-dessous s'exécutent côté client et affichent le résultat de la réponse envoyée par le serveur.

Obtenez la réponse initiale

Dans le programme ci-dessous, le module get method from requests récupère les données d'un serveur et elles sont imprimées au format texte brut.

import requests
r = requests.get('https://httpbin.org/')
print(r.text)[:200]

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

<!DOCTYPE html >
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>httpbin.org</title>
  <link 
href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+

Obtenir la réponse d'un objet de session

L'objet Session vous permet de conserver certains paramètres entre les demandes. Il persiste également les cookies dans toutes les demandes effectuées à partir de l'instance Session. Si vous faites plusieurs requêtes au même hôte, la connexion TCP sous-jacente sera réutilisée.

import requests
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/31251425')
r = s.get('http://httpbin.org/cookies')
print(r.text)

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

{"cookies":{"sessioncookie":"31251425"}}

Erreur de traitement

Dans le cas où une erreur est déclenchée en raison d'un problème de traitement de la demande par le serveur, le programme python peut gérer correctement l'exception déclenchée à l'aide du paramètre timeout comme indiqué ci-dessous. Le programme attendra la valeur définie de l'erreur de temporisation, puis lèvera l'erreur de temporisation.

requests.get('http://github.com', timeout=10.001)