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

Comment utiliser curl vers Go

  1. Collez votre commande curl dans le champ commande cURL.
  2. Lisez le programme Go net/http généré dans le panneau de sortie.
  3. Vérifiez la bannière d'avertissement pour les drapeaux ajustés ou ignorés.
  4. 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

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

Tous les outils ArrayKit