Convertisseur cURL vers Go (net/http)

Convertit une commande cURL en un extrait de code Go net/http avec http.NewRequest, en-têtes et corps

Points clés

Catégorie
Développement et Web
Types d’entrée
textarea, checkbox
Type de sortie
text
Couverture des échantillons
4
API disponible
Yes

Vue d’ensemble

Ce convertisseur cURL vers Go vous permet de transformer instantanément vos commandes cURL en code Go natif utilisant le package standard net/http. Il génère automatiquement la structure de la requête avec http.NewRequest, configure les en-têtes HTTP requis et gère le corps de la requête de manière propre et structurée.

Quand l’utiliser

  • Lors de l'intégration d'une API externe documentée uniquement avec des exemples de commandes cURL dans une application Go.
  • Pour tester rapidement des requêtes HTTP complexes en Go sans écrire manuellement le code répétitif de configuration de net/http.
  • Pour migrer des scripts shell basés sur cURL vers des services ou microservices écrits en Go.

Comment ça marche

  • Collez votre commande cURL complète dans la zone de texte dédiée.
  • Choisissez si vous souhaitez embellir le corps de la requête et inclure des commentaires explicatifs dans le code généré.
  • Le convertisseur analyse les arguments cURL et génère instantanément le code Go correspondant avec net/http.

Cas d’usage

Traduction rapide d'une requête POST avec un payload JSON complexe en structure Go exploitable.
Génération de code Go pour des requêtes d'API sécurisées nécessitant des jetons d'autorisation et des en-têtes personnalisés.
Prototypage rapide de clients HTTP en Go à partir de requêtes testées préalablement dans le terminal.

Exemples

1. Conversion d'une requête POST JSON simple

Développeur Backend
Contexte
Un développeur doit intégrer un service de création d'utilisateurs dans son application Go. Il dispose d'un exemple cURL fonctionnel.
Problème
Écrire manuellement le code Go net/http avec la gestion du corps JSON et des en-têtes prend du temps et est sujet aux erreurs de syntaxe.
Comment l’utiliser
Coller la commande cURL dans le champ de saisie et activer l'option "Embellir le corps".
Configuration d’exemple
curlCommand: curl -X POST https://api.example.com/users -H "Content-Type: application/json" -d '{"name":"Alice"}'
prettyBody: true
includeComments: true
Résultat
Un code Go propre est généré, initialisant le client HTTP, créant la requête avec le corps JSON formaté et configurant l'en-tête Content-Type.

2. Requête GET avec authentification Bearer

Ingénieur DevOps
Contexte
Un ingénieur doit automatiser la récupération de métriques système depuis une API sécurisée dans un outil interne écrit en Go.
Problème
Configurer correctement les en-têtes d'autorisation Bearer dans une requête HTTP Go.
Comment l’utiliser
Saisir la commande cURL contenant l'en-tête d'autorisation et générer le code.
Configuration d’exemple
curlCommand: curl -H "Authorization: Bearer token123" https://api.example.com/metrics
prettyBody: false
includeComments: true
Résultat
Le code Go généré inclut l'appel req.Header.Set("Authorization", "Bearer token123") associé à une requête GET vers l'URL spécifiée.

Tester avec des échantillons

development

Hubs associés

FAQ

Quels types de requêtes cURL sont pris en charge ?

Le convertisseur prend en charge les méthodes GET, POST, PUT, DELETE, PATCH, ainsi que la gestion des en-têtes personnalisés et des corps de requête JSON ou texte.

Le code généré utilise-t-il des bibliothèques tierces ?

Non, le code généré utilise uniquement le package standard net/http de Go, évitant ainsi l'ajout de dépendances externes.

Comment est géré le corps de la requête (payload) ?

Le corps de la requête est converti en un flux de lecture (strings.NewReader ou bytes.NewBuffer) et passé à http.NewRequest.

Puis-je conserver le formatage JSON d'origine ?

Oui, en activant l'option "Embellir le corps", le JSON envoyé dans la commande cURL est formaté de manière lisible dans le code Go.

Les en-têtes d'authentification comme Bearer tokens sont-ils convertis ?

Oui, tous les en-têtes définis via -H ou --header sont convertis en appels req.Header.Set().

Documentation de l'API

Point de terminaison de la requête

POST /fr/api/tools/curl-to-go

Paramètres de la requête

Nom du paramètre Type Requis Description
curlCommand textarea Oui -
prettyBody checkbox Non -
includeComments checkbox Non -

Format de réponse

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Texte: Texte

Documentation de MCP

Ajoutez cet outil à votre configuration de serveur MCP:

{
  "mcpServers": {
    "elysiatools-curl-to-go": {
      "name": "curl-to-go",
      "description": "Convertit une commande cURL en un extrait de code Go net/http avec http.NewRequest, en-têtes et corps",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=curl-to-go",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Vous pouvez chaîner plusieurs outils, par ex.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, max 20 outils.

Si vous rencontrez des problèmes, veuillez nous contacter à [email protected]