Convertir curl en Perl

Convertissez des commandes curl en code Perl à l'aide de LWP::UserAgent. curl2code s'exécute entièrement dans votre navigateur via WebAssembly — vos données restent privées. Pour Python, essayez notre convertisseur curl vers Python. Pour Ruby, voir curl vers Ruby. Vous trouverez ci-dessous des exemples Perl prêts à l'emploi.

Comment copier curl depuis votre navigateur

  1. 1

    Ouvrir les DevTools

    Appuyez sur F12 ou Ctrl+Shift+I pour ouvrir les outils de développement de votre navigateur.

  2. 2

    Aller dans l'onglet Network

    Cliquez sur l'onglet Network et effectuez l'action qui déclenche la requête HTTP.

  3. 3

    Copier comme cURL

    Faites un clic droit sur la requête → CopyCopy as cURL. Collez-la ensuite ci-dessus.

Foire Aux Questions

Qu'est-ce que Perl LWP ?

LWP (Library for WWW in Perl) est la bibliothèque client HTTP standard pour Perl. Le module LWP::UserAgent fournit un client complet avec gestion des cookies, redirections, support de proxy et SSL. Installez-le avec cpan LWP ou apt install libwww-perl. curl2code utilise LWP par défaut pour les conversions Perl.

LWP vs HTTP::Tiny vs Mojo::UserAgent — lequel utiliser ?

LWP est riche en fonctionnalités et constitue le choix traditionnel. HTTP::Tiny est un module de base (aucune installation nécessaire) — idéal pour les requêtes simples. Mojo::UserAgent est moderne avec support asynchrone et WebSocket. Pour les scripts rapides, utilisez HTTP::Tiny. Pour des fonctionnalités complètes, utilisez LWP. Pour des langages de script similaires, voir curl vers Python ou curl vers Ruby.

Comment gérer l'authentification en Perl ?

Avec LWP : $ua->default_header('Authorization' => 'Bearer token'). Pour l'authentification Basic : $ua->credentials('host:port', 'realm', 'user', 'pass'). Ou définissez les en-têtes par requête sur l'objet HTTP::Request. curl2code convertit les drapeaux -u et -H 'Authorization' vers la syntaxe Perl.

Comment envoyer des données de formulaire multipart en Perl ?

Utilisez HTTP::Request::Common : POST($url, Content_Type => 'form-data', Content => [file => ['path/file.pdf']]). LWP gère automatiquement les délimitations multipart. Pour des champs supplémentaires, ajoutez des paires clé-valeur au tableau Content. curl2code convertit les drapeaux -F vers ce format.

Comment gérer les erreurs HTTP en Perl ?

Vérifiez $response->is_success après chaque requête. Pour les détails de l'erreur : $response->status_line renvoie le code de statut et le message. LWP renvoie un objet de réponse même en cas d'erreur — vérifiez $response->code pour le statut HTTP. Utilisez die ou warn pour le rapport d'erreurs.

Comment analyser le JSON en Perl ?

Utilisez le module JSON : my $data = decode_json($response->content). Pour l'encodage : my $json = encode_json($hashref). Installez avec cpan JSON. Pour Perl 5.14+, considérez JSON::PP (module de base, sans installation). Pour plus d'outils centrés sur le JSON, voir curl vers Go.

Comment définir des délais d'expiration dans Perl LWP ?

Définissez sur le UserAgent : my $ua = LWP::UserAgent->new(timeout => 30). Cela définit le délai d'expiration global de la requête en secondes. Pour le délai de connexion spécifiquement, utilisez les options IO::Socket::SSL. Les tentatives LWP ne sont pas intégrées — implémentez-les manuellement ou utilisez LWP::UserAgent::Determined.

Comment utiliser un proxy en Perl ?

Définissez sur le UserAgent : $ua->proxy(['http', 'https'], 'http://proxy:8080'). Ou utilisez les variables d'environnement : $ua->env_proxy lit HTTP_PROXY et HTTPS_PROXY. Pour les exceptions sans proxy : $ua->no_proxy('localhost', '.internal'). curl2code convertit les drapeaux -x vers les appels de proxy LWP.

Comment envoyer une requête POST avec un corps JSON en Perl ?

Convertissez une commande curl POST comme curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL en Perl en utilisant curl2code. Le code généré utilise $ua->post($url, Content_Type => 'application/json', Content => encode_json($data)). curl2code détecte automatiquement les drapeaux -d/--data avec du contenu JSON et définit l'en-tête Content-Type approprié dans le code LWP::UserAgent.

Comment ajouter une autorisation par jeton Bearer en Perl ?

Passez curl -H "Authorization: Bearer YOUR_TOKEN" URL à curl2code et il générera le code LWP::UserAgent avec l'en-tête d'authentification : $req->header('Authorization' => 'Bearer YOUR_TOKEN'). curl2code détecte les jetons Bearer à partir des drapeaux -H "Authorization: Bearer ..." et --oauth2-bearer. Pour le Basic auth, utilisez -u user:pass.

Comment définir l''en-tête Content-Type en Perl ?

curl2code convertit curl -H "Content-Type: application/json" URL en code LWP::UserAgent avec l'en-tête approprié : $req->header('Content-Type' => 'application/json'). Pour les données -d, curl utilise par défaut application/x-www-form-urlencoded ; pour les téléchargements de formulaires -F, il utilise multipart/form-data. curl2code associe chacun à l'API LWP::UserAgent correcte.

Liens utiles

Guides curl

Convertir curl vers d'autres langages