...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
api_url = "https://esup-sgc.univ-ville.fr/wsrest/api"
response = requests.post(api_url, data={"eppn":"toto@univ-ville.fr"}, files={"PhotoFile.file":("photo-toto.png", open("/tmp/photo-toto.png","rb"), "image/png")})
card_id = response.text
response = requests.post("%s/setCardEtat/%s" % (api_url, card_id), data={"etat":"REQUEST_CHECKED"})
print(response.text) |
...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import requests reqSession = requests.Session() api_url = "https://esup-sgc.univ-ville.fr/wsrest/api" response = requestsreqSession.post(api_url, data={"eppn":"toto@univ-ville.fr"}, files={"PhotoFile.file":("photo-toto.png", open("/tmp/photo-toto.png","rb"), "image/png")}) card_id = response.text requestsreqSession.post("%s/setCardEtat/%s" % (api_url, card_id), data={"etat":"REQUEST_CHECKED"}) requestsreqSession.post("%s/setCardEtat/%s" % (api_url, card_id), data={"etat":"IN_PRINT", "printerEppn":"dsiprint@univ-ville.fr"}) |
Notez ici au passage l'usage de requests.Session() qui permet de préserver la même connexion HTTP (keep alive) au long du script : cette optimisation va notablement accélérer l'usage de l'API dans un script qui requêtera plusieurs fois esup-sgc.
Un appel de création de carte avec envoi de photo avec connexion HTTP non initialié mettra environ 400ms, là où le même appel avec une connexion déjà initialisée pourra mettre environ 60ms.
Peut-on envoyer le CSN de la carte par Web Service ?
...