So erhalten Sie die URL in http.Request

8

Ich habe einen HTTP-Server erstellt. Ich verwende den folgenden Code, um die Anforderungs-URL zu erhalten, erhält jedoch keine vollständige URL.

%Vor%

Ich bekomme nur "Req: / " und "Req: /favicon.ico" .

Ich möchte die vollständige Clientanforderungs-URL als "1.2.3.4/" oder "1.2.3.4/favicon.ico" erhalten.

Danke.

    
Jerry YY Rain 18.04.2014, 10:04
quelle

3 Antworten

14

Aus der Dokumentation des net / http-Pakets:

%Vor%

Geänderte Version Ihres Codes:

%Vor%

Beispielausgabe:

%Vor%     
mraron 18.04.2014, 10:44
quelle
3

Wenn Sie feststellen, dass Sie mit einer relativen URL ( r.URL.IsAbs() == false ) zu tun haben, haben Sie Zugriff auf r.Host ( siehe http.Request ), die Host selbst.

Durch die Verknüpfung der beiden erhalten Sie die vollständige URL.

Im Allgemeinen sehen Sie das Gegenteil (Host von einer URL extrahieren), wie in gorilla/reverse/matchers.go

%Vor%     
VonC 18.04.2014 10:37
quelle
1

Ich verwende req.URL.RequestURI() , um die vollständige URL zu erhalten.

Von net/http/requests.go :

%Vor%     
Mithril 14.11.2016 07:36
quelle

Tags und Links