2016-04-09 13 views
1

Ich verwende einen lokalen Webserver, der in Go geschrieben ist, und kann den Datenverkehr von meinem Browser aus debuggen. aber ich kann die http-Anfrage, die sie an externe Dienste stellt, nicht sehen.Wie kann ein Webserver ausgehende HTTP-Anfragen über den lokalen Fiddler-Proxy senden?

Muss ich eine bestimmte Konfiguration des Webservers ausführen, damit der Verkehr in Fiddler angezeigt wird? Es läuft als Hintergrundprozess.

+0

Ich habe in meiner Antwort einen Verweis auf [GoProxy] (https://github.com/elazarl/goproxy) hinzugefügt, wenn Sie wirklich Proxy-Verbindungen in Ihre Web-App einbauen möchten. – eduncan911

Antwort

1

Kurze Antwort: Sie können nicht ...

... es sei denn Ihre Web-Anwendung geschrieben wird über diese Verbindung eine Verbindung zu einem Proxy-Server und Routenanfragen zu öffnen (zB eine Verbindung Remote-Proxy, und senden Sie dann Anfragen durch).

In der Regel wird von den Entwicklern lediglich die Webanforderung/-antwort an eine Debugdatei übergeben, um sie während der Entwicklung zu untersuchen (oder auf einem Live-Server zu debuggen, indem sie zur Laufzeit mit einem Flag aktiviert wird).

Fiddler ist ein "Proxy" -Service/Server. Wenn Sie es normalerweise zum Debuggen von Browseranforderungen verwenden, ist Ihr Browser für die Verbindung mit einem Proxy-Server konfiguriert. Das heißt, es sendet alle Web-Anfragen über den lokalen Server Ihres Fiddlers (ich denke, es ist localhost: 8888, wenn ich mich an meine Windows-Tage der Verwendung von Fiddler erinnere), die wiederum eine Verbindung zu Ihrem lokalen Webserver herstellt, den Sie debuggen.

You can read more about Proxies at Wikipedia.

proxy server

In diesem Bild oben, würde Ihr lokaler Web-Server Alice sein. Das bedeutet, dass Alice konfiguriert werden müsste, um eine Verbindung zu einem Proxy-Server herzustellen und dann Web-Anfragen zu stellen.

EDIT:

(für das Publikum: „Ich wirklich diese benötigen“)

Wenn Sie wirklich Ihren Web-Server ändern möchten Anfragen über einen Proxy zu senden, gibt es ein paar Pakete gehen bereits geschrieben dir helfen. GoProxy ist ein solches Paket.

+0

@thurt die Antwort ist richtig für das, was das OP gefragt hat. und die Antwort und der Link, den du angegeben hast, sind meiner Meinung nach weit entfernt. Das OP möchte die Anfragen sehen, die sein Dienst an das Internet stellt. Die Antwort, die Sie verlinkt haben, bezieht sich auf das Einrichten eines Proxys für 'go get'-Befehle. Das sind zwei sehr unterschiedliche Dinge. – eduncan911

+0

danke, du hast Recht mit dem Kommentar, den ich gepostet habe. Ich habe diesen Kommentar entfernt und hier ist eine bessere Antwort https://StackOverflow.com/a/14663620/3072751 - dies leitet ausgehenden HTTP-Verkehr an den Proxy. die http_proxy Konvention wird hier https://superuser.com/questions/944958/are-http-proxy-https-proxy-and-no-proxy-environment-variables-standard diskutiert – thurt