Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
technique:python:api_python [2020/06/26 15:36] – francoisa | technique:python:api_python [2023/02/14 20:55] – francoisa | ||
---|---|---|---|
Ligne 109: | Ligne 109: | ||
} | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Cas de l'API de Garradin ===== | ||
+ | |||
+ | Pour utiliser l' | ||
+ | < | ||
+ | |||
+ | => Send header, 233 bytes (0xe9) | ||
+ | 0000: POST /api/sql/ HTTP/1.1 | ||
+ | 0019: Host: assos-zourit-net.garradin.eu | ||
+ | 003d: Authorization: | ||
+ | 007c: User-Agent: curl/7.81.0 | ||
+ | 0095: Accept: */* | ||
+ | 00a2: Content-Length: | ||
+ | 00b6: Content-Type: | ||
+ | 00e7: | ||
+ | => Send data, 50 bytes (0x32) | ||
+ | 0000: SELECT * FROM membres where domaine LIKE " | ||
+ | |||
+ | </ | ||
+ | |||
+ | La requête en python doit passer en mode POST (selon la doc) et utiliser l' | ||
+ | |||
+ | En mode GET, utiliser l' | ||
+ | |||
+ | < | ||
+ | import requests | ||
+ | from requests.auth import HTTPBasicAuth | ||
+ | URL=' | ||
+ | |||
+ | reponse = requests.post(URL, | ||
+ | print(reponse.json()) | ||
+ | |||
+ | </ | ||
+ | |||
+ | On peut utiliser la methode '' | ||
+ | < | ||
+ | prepared = requests.Request(' | ||
+ | print(prepared.body) | ||
</ | </ | ||
Ligne 134: | Ligne 174: | ||
</ | </ | ||
- | Voir la doc complète https:// | + | Voir la doc complète |
- | <lang-bash has-termible> | + | <code bash> |
echo ' | echo ' | ||
- | </lang-bash> | + | |
+ | </code> | ||
+ | ===== Utilisation de json dans une requête sur une API avec un json complexe en python ===== | ||
+ | |||
+ | Exemple avec petit-rapporteur : | ||
+ | < | ||
+ | |||
+ | jsontext = """ | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ], | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | }""" | ||
+ | |||
+ | </ | ||
+ | |||
+ | Et la requête : | ||
+ | |||
+ | < | ||
+ | r = requests.post(apiurl, | ||
+ | print(r.text) | ||
+ | data = r.json() | ||
+ | |||
+ | </code> | ||
+ | |||
+ | json.loads : transforme une string au format long en format json. | ||