Как получить доступ к моему 127.0.0.1:8000 из Android-планшета
Я разрабатываю веб-страницу в django (на моем компьютере с окнами 7), и теперь мне нужно протестировать некоторые страницы в планшетах. внезапно возникла мысль, что я могу получить доступ к моему локальному хосту в окнах из Android-планшета. это возможно? Я нахожусь в том же Wi-Fi-соединении на обоих устройствах дома.
Я прочитал много вопросов и ответов по этой проблеме в stackoverflow и других местах, но ни один из них не дал мне некоторых конкретных решений.
У меня есть samsung tab 2 10.1 с android 4.0.4.
оцените любую помощь, спасибо
Ответы
Ответ 1
Вы можете узнать, какой IP-адрес вашего ПК находится с командой ipconfig
в командной строке Windows. Поскольку вы упомянули, что они подключены через WiFi, найдите IP-адрес беспроводного адаптера.
Так как планшет также находится в этой же сети WiFi, вы можете просто ввести этот адрес в свой браузер планшета с добавлением к нему: 8000, и он должен поднять страницу.
Ответ 2
Итак, есть пара проблем. Вопрос, на который приходится отвечать большинству ответов, - "как вы подключаетесь к другому серверу в своей локальной сети?" (или вариантов). Существует два ответа, вы можете напрямую использовать IP-адрес компьютера или использовать имя компьютера (возможно, вам нужно добавить .local
). Например, мой компьютер xavier.local
.
Вторая проблема заключается в том, что вы, кажется, обращаетесь к тому, что runserver
недоступен через другие компьютеры в сети (это ваш фактический вопрос). Причина в том, что по умолчанию сервер Django запускает подтверждение только запросов от машины, которая их вызывает. Это означает, что настройки по умолчанию сделают так, что вы сможете получить доступ только к серверу из Windows (и они сделали это специально по соображениям безопасности). Для прослушивания других запросов у вас есть два варианта:
runserver 192.168.1.101:8000
# Only handle requests which are made to the IP address 192.168.1.101
Или (и это проще при работе с несколькими средами):
runserver 0.0.0.0:8000 # handle all requests
Итак, если ваш IP-адрес равен 192.168.1.101:
runserver # only requests made on the machine will be handled
runserver 127.0.0.1 # only requests made on the machine will be handled
runserver 192.168.1.101 # handles all requests (unless IP changes)
runserver 192.168.1.100 # does not handle any requests (wrong IP)
runserver 0.0.0.0 # handles all requests (even if the IP changes)
Я действительно считаю важным отметить, что 0.0.0.0
реалистично не является вопросом безопасности при работе с локальной машиной разработки. Это становится серьезной проблемой при работе с большим приложением с машиной, которая может быть решена из внешнего мира. Если у вас нет переадресации портов (я это делаю) или чего-то неловкого, вам не следует беспокоиться.
Ответ 3
127.0.0.1 - это обратный адрес, который означает, грубо говоря, "это устройство"; ваш ПК и ваш Android-планшет являются отдельными устройствами, поэтому каждый из них имеет свой собственный 127.0.0.1. Другими словами, если вы попытаетесь перейти на 127.0.0.1 на вкладке Android, он пытается подключиться к веб-серверу на устройстве Android, чего вы не хотите.
Однако вы должны иметь возможность подключаться через Wi-Fi. В окне окна откройте командную строку и выполните "ipconfig". Где-то на выходе должен быть ваш адрес окна, вероятно, 192.168.1.100 или что-то подобное. Планшет должен иметь возможность видеть сервер te Django по этому адресу.
Ответ 4
Если оба подключены к одной сети, все, что вам нужно сделать, это предоставить IP-адрес вашего сервера (в вашей сети) в приложении для Android.
Ответ 5
нужно знать IP-адрес вашей машины.
Убедитесь, что обе ваши машины (планшет и компьютер) подключены к одной сети.
192.168.0.22 - укажите свой адрес устройства
сделайте следующее:
192.168.0.22:8000 - со своего планшета
вот оно!!!
Ответ 6
Протестировано с помощью простого EasyPHP DevServer 14.1.
Фокус в том, что вы должны сначала добавить свой локальный IP-адрес на сервер Apache, чтобы прослушать его.
Щелкните правой кнопкой мыши значок в трее, перейдите в "Конфигурация" → "Apache" в "httpd.config"
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 127.0.0.1:80
Listen 192.168.0.201:80 <<-- ADD THIS LINE
Затем перейдите на панель управления и деактивируйте брандмауэр Windows или добавьте в Ip-адрес своего смартфона/планшетного Ip-адреса.
Что это. Я надеюсь, что это помогает.
IP-адрес 192.168.0.201 может отличаться от вашего. 192.168.0.X
Ответ 7
Я сам боролся с этой проблемой, и я не мог понять, что это было, поскольку она отлично работала на моем iPhone, я решил изучить проблему и найти быстрое решение.
Мой локальный компьютер - Mac OSX 10.10+, одним из вариантов было бы запуск сервера Apache, но это супер неудобно - изменение DocumentRoot каждый раз, когда вы хотите что-то быстро проверить на своем Android-устройстве. Кроме того, изменение DocumentRoot - это боль в ** на Mac OSX 10.10.
Если вы хотите использовать:
python -m SimpleHTTPServer
на вашем Android, сделайте следующее:
sudo python -m SimpleHTTPServer [ANY PORT YOU WANT, BUT NOT 8000]
Надеюсь, это поможет.
cheerz -Pit