Maison > Article > développement back-end > golang lance une demande
Golang est un langage de programmation rapide, simple et sûr largement utilisé pour le développement d'applications Web. Le lancement de requêtes HTTP dans Golang est une tâche très courante. Cet article explique comment lancer des requêtes HTTP dans Golang.
Voici un exemple simple :
package main import ( "fmt" "net/http" ) func main() { response, err := http.Get("https://www.google.com") if err != nil { fmt.Println("请求错误:", err) return } defer response.Body.Close() fmt.Println("响应状态码:", response.Status) }
Dans cet exemple, nous utilisons la méthode http.Get() pour lancer une requête HTTP GET et obtenir la réponse. Il est à noter que le corps de réponse doit être fermé après utilisation.
Voici un exemple :
package main import ( "fmt" "net/http" "net/url" ) func main() { formData := url.Values{ "username": {"admin"}, "password": {"123456"}, } response, err := http.PostForm("http://localhost:8080/login", formData) if err != nil { fmt.Println("请求错误:", err) return } defer response.Body.Close() fmt.Println("响应状态码:", response.Status) }
Dans cet exemple, nous utilisons la méthode http.PostForm() pour envoyer une requête POST avec les données du formulaire et obtenir la réponse. Il convient de noter que les données du formulaire doivent être encapsulées à l'aide du type url.Values.
Voici un exemple :
package main import ( "fmt" "net/http" ) func main() { request, err := http.NewRequest("GET", "https://www.google.com", nil) if err != nil { fmt.Println("创建请求失败:", err) return } request.Header.Set("X-Custom-Header", "Golang") client := &http.Client{} response, err := client.Do(request) if err != nil { fmt.Println("请求错误:", err) return } defer response.Body.Close() fmt.Println("响应状态码:", response.Status) }
Dans cet exemple, nous utilisons la méthode http.NewRequest() pour créer une requête personnalisée et définir un en-tête de requête personnalisé. A noter que nous utilisons le type http.Client{} pour envoyer des requêtes.
Voici un exemple d'utilisation de la bibliothèque httpclient pour envoyer une requête HTTP :
package main import ( "fmt" "github.com/mozillazg/request" ) func main() { client := request.New() response, err := client.Get("https://www.google.com") if err != nil { fmt.Println("请求错误:", err) return } defer response.Body.Close() fmt.Println("响应状态码:", response.Status) }
Dans cet exemple, nous utilisons la bibliothèque httpclient pour créer un client HTTP et envoyer une requête GET.
Résumé
Lancement de requêtes HTTP dans Golang est une tâche très courante. Le package net/http de la bibliothèque standard Golang fournit déjà des implémentations client et serveur HTTP, qui peuvent répondre à la plupart des besoins. Pour des exigences plus complexes, nous pouvons utiliser des bibliothèques tierces pour améliorer la lisibilité et les performances du code. Lors de l'écriture de requêtes HTTP, vous devez faire attention à certains détails. Par exemple : le corps de la réponse doit être fermé après utilisation et les données du formulaire doivent être encapsulées à l'aide du type url.Values, etc.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!