Как получить доступ к моему 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