Wenn Sie Webanwendungen mit Golang schreiben, müssen Sie manchmal die vom Benutzer im Browser eingegebene Anforderungsadresse (URL) abrufen. Dieser Vorgang ist sehr einfach. Verwenden Sie zum Abschluss einfach das integrierte Net/http-Paket von Go.
Zuerst müssen wir einen HTTP-Handler erstellen. Kann basierend auf vorhandenen HTTP-Handlern erweitert oder von Grund auf neu geschrieben werden. Das Folgende ist ein einfaches HTTP-Handler-Beispiel, das lediglich eine „Hello, World!“-Nachricht zurückgibt:
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) }
Die Funktion http.HandleFunc
im Code implementiert einen Router, der Der Router ordnet die Anfrage der Handler-Funktion zu und die Funktion http.ListenAndServe
startet den HTTP-Server auf 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
abrufen. In der Handlerfunktion kann es über r.URL
abgerufen werden. Beachten Sie, dass URL
eine Struktur ist und wir ihre Methode String()
verwenden müssen, um sie in eine Zeichenfolgenform umzuwandeln. Im Folgenden finden Sie den Code zum Abrufen der Anforderungs-URL: #🎜🎜#rrreee#🎜🎜#Der obige Code druckt den Pfadteil der Anforderungs-URL (d. h. den Teil nach „/“) in die HTTP-Antwort. #🎜🎜##🎜🎜#Wenn wir die vollständige Anfrage-URL (einschließlich Abfragezeichenfolge usw.) benötigen, können wir die Methode r.URL.RequestURI()
verwenden: #🎜🎜 #rrreee# 🎜🎜#Der obige Code gibt die vollständige Anforderungs-URL an die HTTP-Antwort aus. #🎜🎜##🎜🎜#Neben dem Abrufen der Anforderungs-URL stellt das http.Request
-Objekt auch viele andere Informationen bereit, z. B. Anforderungsmethode, Anforderungsheader, Anforderungstext usw. Durch sie können wir flexiblere und funktionsreichere HTTP-Handler schreiben. #🎜🎜##🎜🎜#Zusammenfassung: #🎜🎜##🎜🎜#Die Anforderungsadresse in Golang zu erhalten ist sehr einfach, verwenden Sie einfach die URL
im http.Request
Objekt > oder RequestURI
-Methode. Als Entwickler sollten wir mit diesen grundlegenden HTTP-Informationen vertraut sein, um unsere Webanwendungen detaillierter steuern zu können. #🎜🎜#Das obige ist der detaillierte Inhalt vonGolang erhält die Anfrageadresse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!