tuto requests
Module request
Le module requests de python permet de recuperer les données d’une requete HTTP dans un format exploitable (dict,list).
La communication avec le serveur demande d’utiliser une clé, que vous devrez générer en créant un compte. (API key).
Données météo open source
L’exemple suivant traite de l’exploitation d’une requete sur le site OpenWeatherMap. Le compte gratuit permet de realiser quelques requetes, en nombre raisonnable, et sera suffisant pour developper un petit projet NSI.
Voici le script minimal
Prolongement: Pour obtenir les prévisions sur plusieurs jours, utiliser la requete:
Le traitement va alors différer, car la météo des différents jours sera placée dans la clé list du dictionnaire weatherData.
En-tête HTTP
Avec l’architecture reseau d’un lycée, le logiciel proxy va filtrer les requêtes, et empêcher de lancer celles-ci depuis un script python. Cela peut constituer une faille de sécurité.
L’en-tête HTTP va comporter une signature du client, et le proxy va distinguer un navigateur d’un IDE python.
On peut vouloir modifier l’en-tête HTTP pour imiter le comportement d’un navigateur.
| Paramètre | Valeur par défaut (requests) | Valeur “Navigateur” (à imiter) |
|---|---|---|
| User-Agent | python-requests/x.x | Mozilla/5.0 … Chrome/… |
| Accept | */* |
text/html, … |
| Accept-Language | (Absent) | fr-FR, fr;q=0.9 |
| Signature TLS | Bibliothèque Python | Moteur Blink/WebKit (Chrome/Firefox) |
Voici adaptation du script que l’on peut alors utiliser depuis le lycée.
Contenu masqué…