it-swarm.com.de

python -m SimpleHTTPServer - Abhören von 0.0.0.0:8000, aber http://0.0.0.0:8000/test.html ergibt "Seite nicht gefunden"

Nachdem ich in meinen Ordner gehe, betrete ich ihn

python -m SimpleHTTPServer

und bekomme 

Serving HTTP on 0.0.0.0 port 8000 ...

als Antwort auf. Aber wenn ich http://0.0.0.0:8000/test.html drücke, erhalte ich einen nicht gefundenen Fehler.

Ich habe es auch probiert 

pushd /path/you/want/to/serve; python -m SimpleHTTPServer; popd

genommen aus dieser Frage

Wenn ich ls drücke, kann ich die Datei und das Verzeichnis sehen. Weiß jemand was ich falsch mache?

18
Denis Hoctor

Ich denke, die anderen beiden Antworten versuchen klar zu machen, dass 0.0.0.0 nicht die URL ist, die Sie besuchen sollten. Wenn ein Python-Webserver (wie beispielsweise cherrypy) angibt, dass er auf 0.0.0.0 wartet, bedeutet das, dass er den gesamten TCP - Verkehr überwacht, der auf diesem Rechner endet, unabhängig von dem angeforderten Hostnamen oder der IP-Adresse. Wenn Sie es jedoch so ändern, dass das Socket auf 127.0.0.1 oder 'localhost' wartet, dann reagiert es nicht auf die Anforderung, es sei denn, die Anforderung war spezifisch für diese IP/diesen Hostnamen. Beispielsweise können Sie oft Ihren Rechnernamen anstelle von localhost verwenden (ubuntu erlaubt dies beispielsweise). Wenn Ihr Computername 'brian' lautet und Sie einen Server mit 0.0.0.0:8080 verwenden, sollten Sie diesen Server mit http: // brian: 8080 erreichen können. Wenn dieser Server jedoch auf 'localhost' wartet, obwohl 'brian' auf 'localhost' gesetzt ist, empfängt der Server die Nachricht nicht. 

Sie müssen auch sicherstellen, dass sich die Datei wirklich in dem Verzeichnis befindet, in dem Sie den Befehl ausführen. Ansonsten ist die 404-Antwort tatsächlich korrekt :)

Viel Glück!

30
elarson

Haben Sie versucht http://127.0.0.1:8000/ ?

:)

9
Ryan Ginstrom

Sie sollten diesen Link http://127.0.0.1:8000/ verwenden und können dort alle Dateien sehen

5

Sie müssen die IP-Adresse des Computers eingeben, zu dem Sie eine Verbindung herstellen, z. B. 192.168.0.2:8000. Ändern Sie die IP-Adresse des Servers. 

3
Rob

Versuchen Sie, nach http: // localhost: 8000/test.html oder http://127.0.0.1:8000/test.html zu surfen (die beiden sollten genau dasselbe sein wie Ihre Hosts Datei ist nicht alles verrückt wie).

0.0.0.0 wird normalerweise von Windows als "Nicht verbunden" -IP verwendet und kann auch als eine Art Platzhalter für IP-Adressen verwendet werden. Ich bin etwas verwirrt, warum Ihr HTTP-Server versucht, auf 0.0.0.0 zu hosten. Möglicherweise müssen Sie einige Konfigurationsdateien bearbeiten und diese auf 'localhost' oder '127.0.0.1' setzen.

2
The Maniac
  1. erstellen Sie ein Verzeichnis, z. mkdir HTTPServer_dir
  2. in den Ordner verschieben cd HTTPServer_dir
  3. eingabe des Befehls (je nach Python-Version) python -m SimpleHTTPSever 8000 (oder der gewünschte Port)
  4. gehen Sie in einen Browser und geben Sie http://127.0.0.1:8000/ ein.

Erledigt !!!

Sie können eine einfache index.html-Seite im HTTPServer_dir erstellen, sodass Sie anstelle der Verzeichnisauflistung eine HTML-Seite sehen können

1

Führen Sie ifconfig unter Linux oder ipconfig unter Windows aus, um die IP-Adresse des Servers zu ermitteln.

$ Sudo ifconfig
wlan0     Link encap:Ethernet  HWaddr 30:3a:64:b3:be:6a  
          inet addr:192.168.1.103  Bcast:192.168.1.255  Mask:255.255.255.0

Für den Fall, dass die URL lautet:

http://192.168.1.103:8000/test.html

0