Convertisseur curl vers Go
Convertissez une commande curl en code Go net/http instantanément dans votre navigateur. La commande reste sur votre appareil.
Votre commande curl est convertie en Go localement dans votre navigateur et jamais téléversée, mais évitez de coller de vrais jetons ou identifiants de production dans un quelconque outil.
Besoin aussi d'une version JavaScript ? Essayez cURL vers Fetch.
À propos de curl vers Go
Ce convertisseur curl vers go réécrit une commande curl en Go idiomatique utilisant le package standard net/http, pour que vous puissiez insérer un appel d'API directement dans un service Go sans le câbler à la main. En tant qu'outil curl vers golang, il lit les drapeaux comme -X, -H, -d, --data-raw, --json, -u, -b et -G, construit un http.NewRequest avec la bonne méthode, définit chaque en-tête avec req.Header.Set et enveloppe le corps dans un strings.NewReader. Le main() généré lit la réponse avec io.ReadAll et affiche le statut, prêt à compiler avec go run. Utilisez-le pour porter un test curl dans un gestionnaire backend, un CLI ou un worker. La conversion se passe dans votre navigateur, donc la commande et les jetons qu'elle contient sont traités localement sur votre appareil et ne le quittent jamais.
Fonctionnalités
- Construit un appel http.NewRequest avec la méthode déduite des drapeaux curl
- Définit chaque valeur -H/--header avec req.Header.Set
- Enveloppe un corps de requête dans strings.NewReader et n'ajoute l'import strings que si nécessaire
- Lit la réponse avec io.ReadAll et affiche res.Status et le corps
- Mappe -u/--user vers un en-tête d'authentification basique et gère les cookies, le user-agent et le referer
- Ajoute les données -G/--get à l'URL sous forme de chaîne de requête et envoie un corps nil
- Inclut des vérifications d'erreur de base après NewRequest et Do pour que l'extrait compile
- Copiez le résultat ou téléchargez-le sous request.go en un clic
Comment utiliser curl vers Go
- Collez votre commande curl dans le champ commande cURL.
- Lisez le programme Go net/http généré dans le panneau de sortie.
- Vérifiez la bannière d'avertissement pour les drapeaux ajustés ou ignorés.
- Cliquez sur Copier, ou téléchargez le fichier sous request.go et exécutez-le avec go run.
Exemple
Entrée
curl https://api.example.com/ping
Sortie
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.example.com/ping"
req, err := http.NewRequest("GET", url, nil)
if err != nil {
panic(err)
}
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
data, _ := io.ReadAll(res.Body)
fmt.Println(res.Status)
fmt.Println(string(data))
}
Un GET sans corps passe nil à http.NewRequest et omet l'import strings.
Erreurs courantes et dépannage
- Le compilateur signale une erreur imported and not used "strings". — Cet import n'est émis que lorsqu'il y a un corps de requête. Si vous avez retiré le corps à la main, supprimez aussi l'import strings.
- Vous voulez un client réutilisable avec des délais d'attente au lieu de http.DefaultClient. — Remplacez http.DefaultClient par votre propre &http.Client{Timeout: ...} ; l'extrait utilise le client par défaut pour rester court.
- Le corps est envoyé en texte brut mais votre point de terminaison a besoin de JSON. — L'en-tête Content-Type est repris de curl. Assurez-vous que la commande d'origine définit un Content-Type JSON ou utilise --json pour que l'en-tête soit présent.
Foire aux questions
- Comment convertir une commande curl en Go ?
- Collez la commande curl dans le champ de saisie et le convertisseur affiche un programme Go net/http complet à droite que vous pouvez copier ou télécharger sous request.go.
- Le code Go généré utilise-t-il la bibliothèque standard ?
- Oui. Il utilise net/http, io, fmt et strings de la bibliothèque standard uniquement, il n'y a donc rien de plus à go get avant de l'exécuter.
- Comment le corps de la requête est-il représenté en Go ?
- Le corps est enveloppé dans strings.NewReader et passé à http.NewRequest, et l'import strings est ajouté automatiquement uniquement lorsqu'un corps est présent.
- Puis-je exécuter la sortie directement avec go run ?
- Oui. Le convertisseur émet un package main complet avec une fonction main(), une gestion d'erreur de base et l'affichage de la réponse, donc go run request.go fonctionne tel quel.
- Ma commande curl est-elle envoyée à un serveur lorsque je la convertis en Go ?
- Non. La conversion curl vers go s'exécute entièrement dans votre navigateur, donc la commande et les secrets qu'elle contient restent sur votre appareil.
Outils associés
- curl vers Python — Convertissez une commande curl en script Python requests.
- curl vers PHP — Convertissez une commande curl en script PHP avec l’extension cURL.
- curl vers Node.js — Convertissez une commande curl en script Node.js basé sur axios.
- cURL vers Fetch — Convertit une commande curl en un appel fetch() JavaScript.
- Client API — Envoyez des requêtes HTTP, créez en-têtes et paramètres et inspectez les réponses ; conserve vos 25 dernières.
- Analyseur d’URL — Décompose une URL en ses parties et liste les paramètres de requête.
Tous les outils ArrayKit