Maison  >  Article  >  développement back-end  >  Golang reçoit une demande d'obtention

Golang reçoit une demande d'obtention

WBOY
WBOYoriginal
2023-05-14 18:23:38646parcourir

La bibliothèque standard du langage Go (Golang) fournit des fonctions de gestion des requêtes HTTP, ce qui rend très simple l'utilisation de Go pour les applications web. Dans cet article, nous verrons comment écrire un serveur HTTP à l'aide de Go pour recevoir des requêtes GET. Nous verrons d’abord comment créer un serveur HTTP à l’aide de Go, puis présenterons les méthodes de gestion des requêtes Get.

Créer un serveur HTTP Go

La bibliothèque standard du langage Go fournit un package appelé "net/http", qui fournit toutes les fonctions nécessaires pour créer un serveur HTTP. Les étapes de base pour créer un serveur HTTP en langage Go sont les suivantes :

  1. Importez le package "net/http".
  2. Créez une fonction pour gérer les requêtes HTTP et enveloppez-la dans une fonction de processeur.
  3. Attribuez une fonction de gestionnaire à un chemin d'URL afin que la fonction soit déclenchée lorsque l'URL est demandée.
  4. Démarrez le serveur HTTP.

Voyons un exemple de code où nous allons créer un simple serveur HTTP qui utilisera le port par défaut 8000 et écoutera sur localhost les requêtes HTTP des clients :

    package main

    import (
        "fmt"
        "net/http"
    )

    func handler(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintln(w, "Hello, World!")
    }

    func main() {
        http.HandleFunc("/", handler)
        http.ListenAndServe(":8000", nil)
    }

Dans le code ci-dessus, nous définissons une fonction de gestionnaire handler est créé, qui envoie simplement le texte "Hello, World au client !" Nous utilisons ensuite la fonction http.HandleFunc pour associer la fonction de gestionnaire au chemin URL "/". Enfin, nous démarrons le serveur en utilisant la fonction http.ListenAndServe et écoutons sur le port TCP 8000 sur localhost. handler,该函数仅向客户端发送文本“Hello, World!”。然后我们使用http.HandleFunc函数将处理器函数与URL路径“/”关联。最后,我们使用http.ListenAndServe函数启动服务器,并将其监听在本地主机上的TCP端口8000上。

使用Go处理GET请求

与其他HTTP方法一样,处理GET请求需要编写一个处理器函数,该函数将执行从客户端接收GET请求所需的操作。处理GET请求的基本步骤如下:

  1. 从请求对象中检索GET请求中的参数。
  2. 执行所需的操作并生成响应。
  3. 将响应发送回客户端。

让我们看下面的代码,它是handler函数的更新版本,该函数将接收来自客户端的GET请求,并返回包含查询参数的响应:

    func handler(w http.ResponseWriter, r *http.Request) {
        query := r.URL.Query().Get("query")
        fmt.Fprintln(w, "GET请求,参数为:", query)
    }

在上面的代码中,我们从http.Request对象中检索URL的查询参数,并将其赋值给名为query

Gestion des requêtes GET avec Go

Comme les autres méthodes HTTP, la gestion des requêtes GET nécessite l'écriture d'une fonction de processeur qui effectuera les opérations requises pour recevoir la requête GET du client. Les étapes de base pour gérer une requête GET sont les suivantes :

Récupérez les paramètres de la requête GET à partir de l'objet de requête.

Effectuez l'action requise et générez une réponse.

Renvoyer la réponse au client.

Regardons le code ci-dessous, qui est une version mise à jour de la fonction handler qui recevra une requête GET du client et renverra une réponse contenant les paramètres de la requête :

curl http://localhost:8000/?query=hello

Dans ce qui précède code , nous récupérons les paramètres de requête de l'URL depuis l'objet http.Request et les affectons à une variable nommée query. Nous utilisons ensuite cette variable pour générer une réponse où nous affichons le texte « GET request with settings : » et les valeurs des paramètres de requête. 🎜🎜Envoyer une requête GET🎜🎜Pour tester notre serveur, vous pouvez utiliser l'outil curl ou un navigateur Web pour envoyer une requête GET. curl est un outil de ligne de commande open source qui peut être utilisé pour envoyer des requêtes aux serveurs HTTP. 🎜🎜Pour envoyer une requête GET à l'aide de curl, ouvrez un terminal et tapez la commande suivante : 🎜
GET请求,参数为:hello
🎜La commande ci-dessus enverra une requête GET à notre serveur avec le paramètre de requête "hello". Si tout va bien, vous devriez recevoir la réponse suivante sur votre terminal : 🎜rrreee🎜 Cette réponse indique que notre serveur HTTP a reçu avec succès la requête GET du client et a renvoyé une réponse avec les paramètres de la requête. 🎜🎜Conclusion🎜🎜Dans cet article, nous avons vu comment créer un serveur HTTP en utilisant le langage Go, recevoir les requêtes GET des clients et générer des réponses. La gestion des requêtes et des réponses HTTP devient facile grâce aux packages HTTP fournis dans la bibliothèque standard. Les méthodes expliquées dans cet article devraient suffire pour vous permettre de commencer à écrire des applications Web dans Go. 🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:erreurs et exceptions GolangArticle suivant:erreurs et exceptions Golang