Wie starten Sie web-server zum öffnen der Seite im browser in golang?
Wie kann ich vorübergehend öffnen Sie eine web-Seite im browser mit golang?
Wie hier ist, wie es gemacht wird mit HTTPServer in python.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Frage ist ein wenig irreführend, da es fragt, wie öffnen Sie eine lokale Seite in der web-browser, aber Sie wirklich wollen, zu wissen, wie man Feuer auf einem web-server, so kann es im browser geöffnet werden.
Für die letztere (feuern ein Webserver für die Verarbeitung statischer Dateien), können Sie die
http.FileServer()
Funktion. Für Antworten zu präsentieren, denn im detail finden Sie unter: Umfassen js-Datei in Vorlage Gehen und Mit golang webserver Woher kommt der Stamm der website-Karte auf das Dateisystem>.Beispiel dienen Ihre
/tmp/data
Ordner:Wenn Sie wollen, um zu dienen dynamische Inhalte (erstellt von Go-code), können Sie die
net/http
Paket und schreiben Sie Ihre eigenen handler erzeugen der Antwort, z.B.:Als die erste (um eine Seite zu öffnen in Ihrem Standard-browser), gibt es keine eingebaute Unterstützung in der Go-Standardbibliothek. Aber es ist nicht schwer, Sie müssen nur zur Ausführung eines OS-spezifischen externen Befehl. Sie können diese cross-Plattform-Lösung:
Diesem Beispiel-code stammt aus Gowut (die Gehen Web-UI-Toolkit; Offenlegung: ich bin der Autor).
Verwenden diese, um die zuvor gestartete webserver in Ihrem Standard-browser:
Eine Letzte Sache zu beachten:
http.ListenAndServe()
blockiert und kehrt nie zurück (falls kein Fehler vorliegt). So haben Sie den server starten oder den browser in einem anderen goroutine, zum Beispiel:Überprüfen Sie heraus diese Frage für andere alternativen wie browser starten, nachdem der webserver gestartet wurde: Go: Wie kann ich den browser starten, NACHDEM der server gestartet Zuhören?
Es ist durchaus ein Allgemeines problem. Sie können
xdg-open
Programm, um es für Sie tun. Führen Sie einfach den Prozess aus Gehen. Diexdg-open
wird die Gabel von selbst so können wir einfach nutzenRun
und warten, bis das Ende des Prozesses.xdg-open
?Gebäude an der Paul ' s Antwort, hier ist eine Lösung, die funktioniert auf Windows:
Letzte mal, dass ich so etwas Tat, ich habe eine kurze Verzögerung auf, bevor Sie den browser, um sicherzustellen, dass der server hatte Zeit zu hören, bevor der browser geschickt die erste Anfrage. Auf meinem Linux-system, xdg war nicht ganz richtig konfiguriert und anstatt die Festsetzung der xdg-Konfiguration, die ich gerade fest verdrahtet, es mit "firefox" statt "xdg-open". Starten Sie den browser auf der gleichen Maschine wie der web-server für eine gute Sache in der Entwicklung. Aber in der Bereitstellung der web-server wird wahrscheinlich laufen auf einem headless-remote-system und es könnte mehr Sinn machen, drucken Sie einfach die Start-URL auf der Konsole für ein copy-paste von einer terminal-session auf dem remote-server in einem lokalen browser.