Golang erhält die Anfrageadresse
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Dieser Artikel erläutert die Paketimportmechanismen von Go: benannte Importe (z. B. importieren & quot; fmt & quot;) und leere Importe (z. B. Import _ & quot; fmt & quot;). Benannte Importe machen Paketinhalte zugänglich, während leere Importe nur T ausführen

In diesem Artikel werden die Newflash () -Funktion von BeEGO für die Übertragung zwischen PAGE in Webanwendungen erläutert. Es konzentriert sich auf die Verwendung von Newflash (), um temporäre Nachrichten (Erfolg, Fehler, Warnung) zwischen den Controllern anzuzeigen und den Sitzungsmechanismus zu nutzen. Limita

Dieser Artikel beschreibt die effiziente Konvertierung von MySQL -Abfrageergebnissen in GO -Strukturscheiben. Es wird unter Verwendung der SCAN -Methode von Datenbank/SQL zur optimalen Leistung hervorgehoben, wobei die manuelle Parsen vermieden wird. Best Practices für die Struktur -Feldzuordnung mithilfe von DB -Tags und Robus

Dieser Artikel zeigt, dass Mocks und Stubs in GO für Unit -Tests erstellen. Es betont die Verwendung von Schnittstellen, liefert Beispiele für Mock -Implementierungen und diskutiert Best Practices wie die Fokussierung von Mocks und die Verwendung von Assertion -Bibliotheken. Die Articl

In diesem Artikel werden die benutzerdefinierten Typ -Einschränkungen von GO für Generika untersucht. Es wird beschrieben, wie Schnittstellen die minimalen Typanforderungen für generische Funktionen definieren und die Sicherheitstypsicherheit und die Wiederverwendbarkeit von Code verbessern. Der Artikel erörtert auch Einschränkungen und Best Practices

Dieser Artikel beschreibt effizientes Dateischreiben in Go und vergleicht OS.WriteFile (geeignet für kleine Dateien) mit OS.openfile und gepufferter Schreibvorgänge (optimal für große Dateien). Es betont eine robuste Fehlerbehandlung, die Verwendung von Aufschub und Überprüfung auf bestimmte Fehler.

In dem Artikel werden Schreiben von Unit -Tests in GO erörtert, die Best Practices, Spottechniken und Tools für ein effizientes Testmanagement abdecken.

In diesem Artikel wird die Verwendung von Tracing -Tools zur Analyse von GO -Anwendungsausführungsfluss untersucht. Es werden manuelle und automatische Instrumentierungstechniken, den Vergleich von Tools wie Jaeger, Zipkin und Opentelemetrie erörtert und die effektive Datenvisualisierung hervorheben
