Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #3710

Re: Tentative de transcription d'une ligne de commande « Curl » à l'aide de « urllib3 ».

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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