python -m SimpleHTTPServer - прослушивание 0.0.0.0:8000, но http://0.0.0.0:8000/test.html выдает «Страница не найдена» - PullRequest
18 голосов
/ 03 декабря 2010

После входа в мою папку я ввожу

python -m SimpleHTTPServer

и получаю

Serving HTTP on 0.0.0.0 port 8000 ...

в ответ.Но когда я нажимаю http://0.0.0.0:8000/test.html, я получаю сообщение об ошибке "страница не найдена".

Я также пытался

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

взято из этого вопроса

Когда я нажимаю ls, я вижу файл и каталог.Кто-нибудь знает, что я делаю не так?

Ответы [ 8 ]

31 голосов
/ 03 декабря 2010

Я думаю, что два других ответа пытаются прояснить, что 0.0.0.0 - это не тот URL, который вы должны посетить.Когда веб-сервер Python (например, cherrypy) говорит, что он работает на 0.0.0.0, это означает, что он прослушивает весь TCP-трафик, который заканчивается на этом компьютере, независимо от имени хоста или IP, которые были запрошены.Но если вы измените его так, чтобы сокет прослушивал 127.0.0.1 или «localhost», то, если запрос не был конкретно связан с этим IP / именем хоста, он не будет отвечать на запрос.Например, много раз вы можете использовать имя вашего компьютера вместо localhost (например, Ubuntu позволяет это).Если имя вашего компьютера «brian», а сервер прослушивает 0.0.0.0:8080, вы сможете подключиться к этому серверу с http://brian:8080. Но если этот сервер прослушивает «localhost», даже если «brian 'установлен на' localhost ', сервер не получит сообщение.

Вам также необходимо убедиться, что файл действительно находится в каталоге, из которого вы запускаете команду.В противном случае ответ 404 на самом деле правильный:)

Удачи!

12 голосов
/ 03 декабря 2010

Вы пробовали http://127.0.0.1:8000/?

:)

6 голосов
/ 04 июня 2015

Вам следует воспользоваться этой ссылкой http://127.0.0.1:8000/ и просмотреть все файлы там

3 голосов
/ 15 октября 2012

Необходимо ввести ip-адрес компьютера, к которому вы подключаетесь, например, 192.168.0.2:8000. Измените его на ip-адрес вашего сервера.

2 голосов
/ 03 декабря 2010

Попробуйте перейти к http://localhost:8000/test.html или http://127.0.0.1:8000/test.html (эти два должны быть абсолютно одинаковыми, если ваш файл хостов не похож на сумасшедший).

0.0.0.0 обычно используется Windows как «не подключенный» IP, а также может использоваться как своего рода подстановочный знак при работе с IP.Я немного смущен тем, почему ваш HTTP-сервер пытается разместить на 0.0.0.0, хотя.Возможно, вам придется отредактировать некоторые файлы конфигурации и установить для них значение «localhost» или «127.0.0.1».

1 голос
/ 17 июля 2013
  1. создать каталог, например mkdir HTTPServer_dir
  2. переместиться в папку cd HTTPServer_dir
  3. , набрав команду (в соответствии с версией Python) python -m SimpleHTTPSever 8000 (или нужный порт))
  4. зайдите в браузер и введите http://127.0.0.1:8000/

Готово !!!

Вы можете создать простую страницу index.html внутри HTTPServer_dir, чтобы вы моглисм. html-страницу вместо списка каталогов

0 голосов
/ 01 сентября 2018

попробуйте это в python3

python -m http.server 8000 --bind 127.0.0.1

и в вашем браузере этот URL:

http://127.0.0.1:8000/

0 голосов
/ 19 августа 2017

Запустите ifconfig в Linux или ipconfig в Windows, чтобы найти IP-адрес сервера.

$ 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

Здесь, если URL будет:

http://192.168.1.103:8000/test.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...