Heim  >  Artikel  >  Backend-Entwicklung  >  Golang erhält die Anfrageadresse

Golang erhält die Anfrageadresse

WBOY
WBOYOriginal
2023-05-14 19:36:361161Durchsuche

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对象中的URLRequestURI

Als nächstes müssen wir die Anforderungs-URL vom Anforderungsobjekt 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn