Comment faire des requêtes HTTP avec Raku?
Comment faire des requêtes HTTP avec Raku? Je recherche l'équivalent de ce code Python:
import requests
headers = {"User-Agent": "python"}
url = "http://example.com/"
payload = {"hello": "world"}
res = requests.get(url, headers=headers)
res = requests.post(url, headers=headers, json=payload)
Réponses
Vous voudrez peut-être essayer le module HTTP :: Tiny récent .
use HTTP::Tiny;
my $response = HTTP::Tiny.new.get( 'https://example.com/' ); say $response<content>.decode
Après avoir cherché un peu, j'ai trouvé une réponse dans les documents Cro .
use Cro::HTTP::Client;
my $resp = await Cro::HTTP::Client.get('https://api.github.com/'); my $body = await $resp.body; # `$body` is a hash
say $body;
Il y a plus d'informations sur les en-têtes et les POST
demandes dans le lien.
Je veux contribuer un peu plus. Il existe un module fantastique nommé WWW . Il est très pratique de faire des «get» qui reçoivent json car il peut être analysé automatiquement.
Dans leur exemple:
use WWW;
my $response = jget('https://httpbin.org/get?foo=42&bar=x');
Vous pouvez examiner les objets en utilisant les fonctionnalités de base des tableaux et des hachages, par exemple pour extraire les valeurs de ma réponse que vous pouvez utiliser:
$response<object_you_want_of_json><other_nested_object>[1]<the_last_level>
Ici, le nombre [1] est une liste imbriquée dans un hachage, et les propriétés sont les mêmes. Bienvenue dans la communauté raku !!!