2016-02-08 6 views
2

В последнее время я играл с Python, чтобы обнаружить его потенциал, и я только что наткнулся на SimpleHTTPServer.SimpleHTTPServer: другие устройства не могут подключиться к серверу

Я на ОС Windows 10.

Я бегу:

python -m SimpleHTTPServer 

выход:

Serving HTTP on 0.0.0.0 port 8000 ... 

Я открыл браузер как на смартфоне и планшете, но ни один из них можно подключиться к серверу, когда я набираю «http://127.0.0.1:8000».

(Перевод с итальянского, может быть не точный перевод)

IPad: «Safari не может открыть страницу, поскольку сервер не отвечает»

Android:. «WebPage не отвечает веб-страница может быть временно недоступна или ее можно было переместить на другой адрес «

Почему это не работает? Как это исправить?

+0

Вам необходимо знать IP-адрес вашего физического сервера. Откройте powershell и введите ipconfig. Вам нужен IPv4-адрес «Ethernet-адаптер локальной сети» – user1157751

+0

Например, вероятно, это будет 192.168.1.195. – user1157751

ответ

3

127.0.0.1 всегда является IP-адресом локальной системы (связанным с ним именем хоста является «localhost»). Другими словами, если вы наберете 127.0.0.1:8000 на планшете или устройстве Android, браузер на этом устройстве попытается подключиться к серверу, работающему на том же устройстве, при прослушивании на порту 8000. Вам нужно будет узнать IP-адрес компьютера, на котором запущен Python, и введите его. Вы можете использовать команду ifconfig в Unix или ipconfig в Windows.

2

Может быть, ваш брандмауэр блокирует доступ к питона на основе сервера

Попробуйте это:

  • Открытые окна брандмауэра
  • нажмите на кнопку «разрешить приложение или функцию ...» на левой стороне открытое окно
  • поиск питона в списке и проверьте, как ящики частных и общественных

Теперь он должен работать

+0

Это также может быть проблемой, но, вероятно, это не так. Проблема в том, что OP пытается использовать loopback-адрес ('127.0.0.1', aka' 0.0.0.0', aka 'localhost') с другого устройства. – Kroltan

+0

вы правы @ Kroltan. Я неправильно понял вопрос –

+0

Это сработало для меня. Я уже разрешил python общаться через частные сети, оказывается, что ему также нужно общаться в общедоступных сетях. – theEpsilon