Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #3710
| From | Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> |
|---|---|
| Newsgroups | fr.comp.lang.python |
| Subject | Re: Tentative de transcription d'une ligne de commande « Curl » à l'aide de « urllib3 ». |
| Date | 2022-01-20 18:25 +0100 |
| Organization | Université de Strasbourg |
| Message-ID | <87h79ypbeo.fsf@universite-de-strasbourg.fr.invalid> (permalink) |
| References | <87lezbntpp.fsf@s02.forall> |
Valrik <nospam@valrik.invalid> writes:
> je suis grand débutant en Python, Json et Graphql. Mes questions, donc,
> pourront peut-être vous paraître naïves.
Je n'ai aucune idée de ce qu'est graphql.
> curl 'https://openapi.radiofrance.fr/v1/graphql?x-token=clé_que_je_ne_peux_pas_rendre_publique_pour_l'instant' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://openapi.radiofrance.fr' --data-binary '{"query":"{\n diffusionsOfShowByUrl(url: \"https://www.franceculture.fr/emissions/fictions-theatre-et-cie\", first: 10) {\n\t edges {\n cursor\n node {\n id\n title\n url\n published_date\n podcastEpisode {\n url\n title\n }\n }\n }\n }\n}"}' --compressed
>
> À noter que cela fonctionne correctement dans un terminal.
OK.
> import urllib3
>
> data_binary='{"query":"{\n diffusionsOfShowByUrl(url: \"https://www.franceculture.fr/emissions/fictions-theatre-et-cie\", first: 10) {\n\t edges {\n cursor\n node {\n id\n title\n url\n published_date\n podcastEpisode {\n url\n title\n }\n }\n }\n }\n}"}'
Tu ne fais jamais rien de ces données, alors qu'il me semble qu'elles
doivent partir vers le serveur (en tout cas, c'est ce que fait curl).
> http = urllib3.PoolManager()
>
> r = http.request(
> 'GET',
S'il y a des données à transmettre, il faut bien qu'elles soient quelque
part. Avec GET, ce serait dans l'uri.
Mais si j'en crois ta commande curl, c'est en POST qu'elles sont
envoyées (à cause de --data-binary), et c'est du JSON. Jette un oeil à
https://urllib3.readthedocs.io/en/stable/user-guide.html#json
> 'https://openapi.radiofrance.fr/v1/graphql?x-token=clé_que_je_ne_peux_pas_rendre_publique_pour_l'instant',
> headers={
> 'Accept-Encoding': 'gzip, deflate, br',
> 'Content-Type': 'application/json',
> 'Accept': 'application/json',
> 'Connection': 'keep-alive',
> 'DNT': '1', # Obsolète.
> 'Origin': 'https://openapi.radiofrance.fr'
> }
> )
> Je n'est également rien trouvé sur « --compressed », mais je dois avouer
> que j'ai fait beaucoup moins de recherche.
Moi je fais "man curl" et je trouve :
| --compressed
| (HTTP) Request a compressed response using one of the algorithms
| curl supports, and save the uncompressed document. If this
| option is used and the server sends an unsupported encoding,
| curl will report an error.
|
Mes 2 cents.
-- Alain.
Back to fr.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
Tentative de transcription d'une ligne de commande « Curl » à l'aide de « urllib3 ». Valrik <nospam@valrik.invalid> - 2022-01-20 01:20 +0100
Re: Tentative de transcription d'une ligne de commande « Curl » à l'aide de « urllib3 ». Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-01-20 18:25 +0100
Re: Tentative de transcription d'une ligne de commande « Curl » à l'aide de « urllib3 ». Valrik <nospam@valrik.invalid> - 2022-01-21 01:21 +0100
Re: Tentative de transcription d'une ligne de commande « Curl » à l'aide de « urllib3 ». Valrik <nospam@valrik.invalid> - 2022-01-21 03:21 +0100
Re: Tentative de transcription d'une ligne de commande « Curl » à l'aide de « urllib3 ». Valrik <nospam@valrik.invalid> - 2022-02-05 00:28 +0100
csiph-web