Maison  >  Article  >  développement back-end  >  golang obtient l'adresse de la demande

golang obtient l'adresse de la demande

WBOY
WBOYoriginal
2023-05-14 19:36:361156parcourir

Lors de l'écriture d'applications Web à l'aide de Golang, vous devez parfois obtenir l'adresse de requête (URL) saisie par l'utilisateur dans le navigateur. Ce processus est très simple, il suffit d'utiliser le package net/http intégré de Go pour le terminer.

Tout d’abord, nous devons créer un gestionnaire HTTP. Peut être étendu en fonction des gestionnaires HTTP existants ou écrit à partir de zéro. Voici un exemple de gestionnaire HTTP simple qui renvoie simplement un message « Hello, World ! » :

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, World!")
    })
    http.ListenAndServe(":8080", nil)
}

La fonction http.HandleFunc dans le code implémente un routeur qui mappe les requêtes à la fonction du gestionnaire, et la fonction http.ListenAndServe démarre le serveur HTTP sur le port 8080. http.HandleFunc函数实现了一个路由器,该路由器将请求映射到处理程序函数,而http.ListenAndServe函数在8080端口上启动了HTTP服务器。

接下来,我们需要从http.Request请求对象中获取请求URL。在处理程序函数中,可以通过r.URL来获取。注意,URL是一个结构体,我们需要使用它的String()方法将其转换为字符串形式。以下是获取请求URL的代码:

http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Your request URL path is: %s", r.URL.String())
})

上面的代码将请求URL的路径部分(即“/”后面的部分)打印到HTTP响应中。

如果我们需要获取完整的请求URL(包括查询字符串等),那么我们可以使用r.URL.RequestURI()方法:

http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Your request URL is: %s", r.URL.RequestURI())
})

以上代码会将完整的请求URL打印到HTTP响应中。

除了获取请求URL之外,http.Request对象还提供了许多其他信息,如请求方法、请求头、请求主体等。通过它们,我们可以编写更加灵活和功能丰富的HTTP处理程序。

总结:

在Golang中获取请求地址非常简单,只需要使用http.Request对象中的URLRequestURI

Ensuite, nous devons obtenir l'URL de la requête à partir de l'objet de requête http.Request. Dans la fonction de gestionnaire, il peut être obtenu via r.URL. Notez que URL est une structure et nous devons utiliser sa méthode String() pour la convertir sous forme de chaîne. Voici le code pour obtenir l'URL de la requête : 🎜rrreee🎜Le code ci-dessus imprime la partie chemin de l'URL de la requête (c'est-à-dire la partie après le "/") vers la réponse HTTP. 🎜🎜Si nous avons besoin d'obtenir l'URL complète de la requête (y compris la chaîne de requête, etc.), alors nous pouvons utiliser la méthode r.URL.RequestURI() : 🎜rrreee🎜Le code ci-dessus imprimera le complétez l’URL de la demande dans la réponse HTTP. 🎜🎜En plus d'obtenir l'URL de la requête, l'objet http.Request fournit également de nombreuses autres informations, telles que la méthode de la requête, l'en-tête de la requête, le corps de la requête, etc. Grâce à eux, nous pouvons écrire des gestionnaires HTTP plus flexibles et riches en fonctionnalités. 🎜🎜Résumé : 🎜🎜Obtenir l'adresse de la requête dans Golang est très simple, il suffit d'utiliser la méthode URL ou RequestURI dans l'objet http.Request . Peut. En tant que développeurs, nous devons connaître ces informations HTTP de base afin de contrôler nos applications Web de manière plus granulaire. 🎜

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