Maison > Article > développement back-end > golang obtient l'adresse de la demande
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
对象中的URL
或RequestURI
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!