Я могу получить доступ к веб-серверу своего ноутбука с помощью эмулятора Android, я использую 10.0.2.2:portno
работает хорошо.
Но когда я подключаю свой настоящий телефон Android, браузер телефона не может подключиться к тому же веб-серверу на моем ноутбуке. Телефон подключен к ноутбуку с помощью USB-кабеля. Если я запускаю команду adb devices, я вижу свой телефон.
Что мне не хватает?
Ответы:
USB не обеспечивает сеть для мобильного устройства.
Если ваш рабочий стол и телефон подключены к одному и тому же Wi-Fi (или любой другой локальной сети), используйте IP-адрес вашего рабочего стола, назначенный маршрутизатором (нет
localhost
или нет127.0.0.1
).Чтобы узнать IP-адрес вашего рабочего стола:
ipconfig
(Windows) илиifconfig
(Unix)ifconfig | grep "inet " | grep -v 127.0.0.1
даст только важные вещиlocalhost
и127.0.0.1
)Если ваш телефон подключен к мобильной сети , то все будет сложнее.
Либо хардкор
<your desktop IP>:<server port number>
В противном случае используйте что-то вроде xip.io или ngrok .
ПРИМЕЧАНИЕ .
ifconfig
Команда устарела и поэтому по умолчанию отсутствует в Debian Linux, начиная с растяжения Debian. Новая и рекомендуемая альтернатива для проверки конфигурации сети в Debian Linux - это команда ip. Например, чтобы использовать команду ip для отображения конфигурации сети, выполните следующее:Вышеупомянутая команда ip может быть сокращена до:
Если вы по-прежнему предпочитаете использовать его
ifconfig
как часть повседневной рутины sys-администратора, вы можете легко установить его как частьnet-tools
пакета.Ссылка здесь
источник
Это на самом деле довольно просто.
localhost
(я использую сервер WAMP для Windows)Как только вы это сделаете, вы увидите что-то вроде следующего:
192.168.43.76
)Примечание: пожалуйста, установите вашу сеть как « Домашняя сеть ». Установка сети в качестве домашней сети означает, что вы позволяете своему ПК обмениваться данными с другими устройствами в той же сети.
Если вы используете Windows 10, это можно сделать с помощью следующего:
Если у вас возникла проблема, скорее всего, это связано с брандмауэром Windows.
источник
Mac OS X пользователи
Я достиг этого, включив удаленное управление :
System preferences/sharing
Вы увидите сообщение, подобное этому:
some.url.com
На вашем Android-устройстве теперь вы сможете перейти к
some.url.com
делегатуlocalhost
на вашем Mac. Вы также можете использовать,ifconfig
чтобы получить IP-адрес вашего Mac.Портативное решение с
ngrok
(любая ОС с Node.js)Если вы не против выставить свой проект с временным доменом, вы можете использовать
ngrok
. Допустим, у меня есть приложение, которое работает,localhost:9460
я могу просто написатьЭто даст мне:
Теперь я могу использовать
https://f7c23d14.ngrok.io
как способ удаленного просмотраlocalhost
. Это замечательно, чтобы поделиться дизайнерской работой или прогрессом с клиентами.Альтернативный раствор с
nginx
проксиЕсли вы выполняете что-то подобное, через
nginx proxy_pass
это потребуется немного доработать - это хакерский подход, но он работает для меня, и я открыт для предложений по его улучшению:81
в отличие от80
http://youripaddress:81
Перезагрузить и посетить
http://youripaddress:81
источник
192.168.0.101
но имя хоста не работало.С помощью простого решения (просто доступ
laptop_ip_addr:port
с мобильного устройства, когда мобильный и ноутбук находятся в одном и том же WiFi), я получаю ошибку ERR_CONNECTION_REFUSED . То есть мой MacBook, похоже, отказывается от попытки подключения с моего мобильного телефона.Обратное гнездо ADB (только для Android)
Это решение работает для меня (проверено на MacBook):
adb reverse tcp:4000 tcp:4000
4000
http://localhost:4000/
, и он будет фактически подключаться к ноутбуку, а не к мобильному устройствуСмотрите инструкции здесь .
Недостатком является то, что это работает только с одним мобильным устройством одновременно . Если вы хотите получить доступ к другому мобильному устройству, вы должны сначала отключить первое (отключить отладку по USB ), подключить новое (включить отладку по USB ) и запустить
adb reverse tcp:4000 tcp:4000
снова.нгрок (работает со всеми устройствами)
Другим решением, которое всегда должно работать, является ngrok (как упоминалось в других ответах). Он работает через Интернет, а не по локальной сети.
Это чрезвычайно легко использовать:
Это выводит, среди некоторой другой информации, строку как
Теперь вы можете перейти
http://4cc5ac02.ngrok.io
на любое устройство, подключенное к Интернету, и этот URL-адрес перенаправляет наlocalhost:4000
ваш ноутбук.Обратите внимание, что пока выполняется команда ngrok (пока вы не нажмете Ctrl-C ), ваш проект обслуживается публично . Каждый, у кого есть URL, может это увидеть.
источник
Я нашел быстрое решение этой проблемы. Попробуйте эту ссылку . Это должно помочь вам решить проблему.
Я изменил только одну вещь, когда в руководстве говорится, что вы меняете «127.0.0.1» на «Все», вместо этого меняйте его на IP-адрес, на котором работает ваш сервер.
После этого вы сможете подключиться к локальному хосту.
Ниже (корректура) копия информации со связанной страницы:
Шаг 1
Установите сервер Wamp (или любой другой, который вы предпочитаете).
Это один из лучших серверов, которые я знаю для настройки локального сервера. Если вы установили Apache или любой другой сервер, пропустите этот шаг.
Загрузите и установите Wamp Server отсюда.
Шаг 2
Добавьте новое правило для порта 80 в брандмауэре Windows.
Откройте панель управления и выберите брандмауэр Windows.
Выберите Дополнительные параметры на левой панели страницы настроек брандмауэра Windows.
Выберите Inbound Rules на левой панели, затем выберите New Rule.
Выберите Порт и нажмите Далее.
Выберите переключатель «Определенные локальные порты» и введите 80 в качестве значения порта.
Оставьте Разрешить соединение без изменений и перейдите к следующему шагу.
Оставьте параметры профиля без изменений и нажмите «Далее».
Дайте какое-нибудь красивое имя новому правилу и нажмите «Готово».
Это позволит доступ к порту 80 по локальной сети IP.
Шаг 3
Отредактируйте файл httpd.conf сервера Wamp, чтобы исправить ошибку 403.
Нам нужно отредактировать этот файл. В противном случае мы получим ошибку 403 при доступе к локальному хосту через IP-адрес локальной сети.
Нажмите на иконку Wamp сервера в трее.
Откройте подменю сервера Apache.
Выберите httpd.conf.
Найдите этот раздел конфигурации в файле httpd.conf:
Найдите и замените «127.0.0.1» на «Все», сохраните файл и перезапустите сервер Wamp.
Шаг 4
Найдите свой локальный сетевой IP.
Откройте командную строку.
Введите и введите
ipconfig
команду.В моем случае мой адрес локальной сети - 10.0.0.2.
Это IP, который вам нужен для доступа к вашему локальному хосту на вашем телефоне Android через Wi-Fi. Чтобы проверить, работает ли он, введите этот IP-адрес в браузере на рабочем столе, где установлен сервер localhost. Браузер должен отобразить вашу локальную страницу успешно. Это гарантирует, что этот IP-адрес локальной сети теперь успешно доступен на вашем телефоне Android.
Я надеюсь, что это руководство поможет вам получить доступ к локальному хосту через Wi-Fi.
источник
# onlineoffline tag - don't remove Order Allow,Deny Allow from all
На ПК с Windows Вам, возможно, не нужно ничего делать, кроме как узнать свой IPv4-адрес с помощью команды «ipconfig».
Другие подробности Env: Windows 7, Google Nexus 4 (4.2.2), Tomcat Server, приложение Grails.
Вы также должны убедиться, что у вас есть разрешение на доступ к Интернету в файле AndroidManifest:
источник
java.io.FileNotFoundException: http://192.168.8.65:8000/app/web/users/
Однако есть гораздо лучшее решение. Вы можете получить доступ к хост-машине с IP-адресом «10.0.2.2». Это было разработано таким образом командой Android. Таким образом, ваш веб-сервер может отлично работать на локальном хосте, и из вашего приложения для Android вы можете получить к нему доступ через «http://10.0.2.2:8080».
источник
Поскольку это старый вопрос, есть новый способ сделать это, который действительно очень прост. Загрузите расширение ADB Chrome и следуйте этим инструкциям:
https://developers.google.com/chrome-developer-tools/docs/remote-debugging
источник
«Переадресация портов в Chrome для Android упрощает тестирование сайта разработки на мобильном устройстве. Он работает путем создания прослушивающего TCP-порта на мобильном устройстве, который сопоставляется с определенным TCP-портом на вашей машине для разработки. Трафик между этими портами проходит через USB, поэтому соединение не зависит от конфигурации вашей сети. "
Более подробная информация здесь: https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding
источник
Это решение применимо, когда ваше мобильное устройство и компьютер не находятся в одной сети:
В этом случае вам нужно использовать переадресацию портов. В окне Google Chrome Inspect (Chrome: // Inspect) вы можете увидеть подключенные устройства.
Нажмите на кнопку перехода на другой порт и установите произвольный порт, скажем, 3000, на порт, используемый вашим ноутбуком, скажем, 8080.
Теперь используйте localhost: 3000 с устройства для доступа к localhost: 8080 (or_whwhat_ip: portno) в ноутбуке. Вы можете проверить это в мобильном браузере. Попробуйте localhost: 3000 в мобильном браузере. Обязательно установите флажок «Включить переадресацию портов» в окне «Настройки переадресации портов».
источник
Запустите CMD от имени администратора
а на экране CMD наберите ipconfig и на экране появится текст
как это фото
и вы можете получить доступ к локальному хосту с помощью этого IP-адреса, вы должны быть подключены к той же сети, что и ваш компьютер, к которому подключен
источник
Возможно, ваш веб-сервер прослушивает ваш петлевой интерфейс, а не сетевой интерфейс. Основные признаки этого:
127.0.0.1
иlocalhost
(с локального хоста или эмулятора Android) работают192.168.xxx.xxx
не работают, будь то с локального хоста, локальной сети или глобальной сетиЯ больше говорю о диагностике и исправлении в ответе здесь .
источник
Попробуйте перейти к этому файлу:
C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf
И измените 10.0.2.2 на ваш IP-адрес.
источник
наконец сделано в Ubuntu, я запускаю сервер nodejs на локальном хосте: 8080
1) откройте терминал типа ifconfig, вы получите ip примерно так: inet addr: 192.168.43.17
2) теперь просто введите URL-адрес, например, так: «192.168.43.17:8080» (порт 8080 приходит с номера порта локального хоста), например: «192.168.43.17:8080/fetch»
источник
Используйте это в вашем Ubuntu / Macbook, чтобы получить IP-адрес вашей системы. Ваш мобильный телефон и система должны быть в одной сети
ip addr | grep inet
Это даст вам IP-адрес, который выглядит следующим образом192.168.168.46
. Используйте это в своем смартфоне.Надеюсь это поможет.
источник
Я использовал этот процесс:
Обратите внимание, что этот процесс требует изменения настроек WiFi на устройстве Android в начале и в конце каждого сеанса. Я нашел это менее болезненным, чем рутирование моего устройства Android.
источник
Более простой способ использовать localhost по умолчанию - использовать http: // localhost: port . Это работает в ноутбуке и Android, а также.
Если это не работает, то в Android установите IP-адрес вашего телефона по умолчанию 127.0.0.1:port :)
Откройте терминал и введите: -
источник
Работал с этой проблемой, используя несколько разных локальных серверов. Наконец-то я запустил приложение и запустил его на телефоне за считанные секунды, просто используя простой сервер Python. Это займет всего несколько секунд, поэтому стоит попробовать, прежде чем переходить к более сложным решениям. Во-первых, убедитесь, что у вас установлен Python.
cmd+r
и введитеpython
для Windows или$ python --version
в Mac терминал.Следующий:
Затем просто найдите адрес вашего хост-компьютера в сети, который я использовал
System Preferences/Sharing
на Mac, чтобы найти его. Нажмите, что на вашем устройстве Android и должен загрузить,index.html
и вы должны быть хорошими.Если нет, то проблема в чем-то другом, и вы можете рассмотреть некоторые другие предложенные решения. Удачи!
* РЕДАКТИРОВАТЬ *
Еще одним быстрым решением, которое стоит попробовать, если вы используете Chrome, является расширение «Веб-сервер для Chrome». Я нашел это быстрый и очень простой способ получить доступ к localhost на моем телефоне. Просто не забудьте проверить
Accessible to local network
подOptions
и он должен работать на вашей ячейке без каких-либо проблем.источник
Ngrok позволяет вам разместить ваш локальный хост на временном сервере и очень прост в настройке. Я предоставил несколько шагов, которые можно найти по ссылке:
ngrok http [port number]
Вы увидите небольшую панель управления в своем терминале с адресом, указывающим на ваш локальный хост. Направьте ваше приложение на этот адрес и создайте его на своем устройстве.
источник
Прежде всего подключите ваш телефон и компьютер к общему Wi-Fi.
Затем откройте командную строку, используя запуск от имени администратора
Дать команду ipconfig
Который показывает беспроводной LAN IP
Используйте ip: порт вашего сервера для доступа в телефон
источник
Прежде всего, сделайте вашу машину (где работает сервер) статическим IP-адресом. Введите этот статический IP-адрес в код Android. Затем перейдите к интерфейсу вашего Wi-Fi роутера и проверьте левую панель. Вы увидите такую опцию, как переадресация / переадресация портов. Нажмите на него и перешлите порт 80. Теперь отредактируйте ваш
htttpd.conf
файл и отредактируйте его дляРазрешить от всех
, Перезагрузите ваш сервер. Теперь все должно работать нормально.
Кроме того, вы можете зарезервировать IP-адрес вашей машины, чтобы он всегда был выделен вам. В левой панели интерфейса вашего роутера найдите
DHCP -> Address Reservation
, нажмите на него. Введите MAC-адрес вашего устройства и IP-адрес, который вы ввели в коде. Нажмите на сохранить. Это зарезервирует указанный IP-адрес для вашей машины.источник
Решение для подключения моего мобильного устройства к серверу Wamp на основе моего ноутбука:
Во-первых, Wi-Fi не маршрутизатор. Таким образом, чтобы подключить мое мобильное устройство к серверу Wamp на основе локального хоста на моем ноутбуке, мне нужен маршрутизатор. Я скачал и установил бесплатный виртуальный маршрутизатор: https://virtualrouter.codeplex.com/
Настроить это действительно просто:
Затем вы можете подключиться к вашему ноутбуку через ваше устройство, запустив браузер и заполнить IPV4-адрес вашего ноутбука (чтобы найти его в Windows, введите cmd: ipconfig и найдите адрес ipv4)
Вы должны увидеть домашнюю страницу вашего сервера wamp.
источник
Хотя один ответ был принят, но это сработало для меня:
ifconfig
внутри терминала и искатьen0/en1 -> inet
его должно быть что-то вроде19*.16*.1.4
.) (в Windows используйте `ipconfig)Откройте настройки своего мобильного телефона и перейдите в сеть-> нажмите и удерживайте вашу сеть Wi-Fi-> измените сеть -> прокрутите вниз до расширенных параметров -> выберите руководство прокси-сервера и в поле имени хоста прокси-сервера введите свой адрес, т.е.
19*.16*.1.4
внутри порта введите свой порт. и сохрани это.поиск
what is my ip
в Google Chrome, и получить свой IP, скажем, это1**.1**.15*.2**
1**.1**.15*.2**:port/
с вашего мобильного устройства.Это так просто.
источник
Это то, что работало для меня, я добавил еще одну строку после ip 127.0.0.1, чтобы указать точный IP-адрес локальной сети (не публичный IP-адрес) устройства, которое я хотел использовать. В моем случае мой Samsung Galaxy S3
В соответствии с предложением Bangptit отредактируйте файл httpd.conf (x - номера версий): C: \ wamp \ bin \ apache \ Apache2.xx \ conf \ httpd.conf
Найдите тег onlineoffline и добавьте IP-адрес вашего телефона (я нашел IP-адрес своего телефона на страницах конфигурации маршрутизатора):
онлайн оффлайн тег - не удалять
мои телефоны ip в строке ниже
Можно расширить это, включив также целый поддомен, например, 192.168.1.0/24 и т. Д.
источник
Самый простой способ (для меня это работало безупречно) - это локальный хостинг вашего сайта
0.0.0.0:<port_no>
и доступ к нему с помощью мобильных устройств, использование<local_ipv4_address>:<port_no>/<path>
в браузере.ipconfig
cmdисточник
Ngrok - лучшее решение. Если вы разрабатываете PHP, я рекомендую установить Laravel Valet , он имеет версии для MacOS и Linux, тогда вы можете использовать
valet share
команду. Если вы разрабатываете какой-либо внешний интерфейс и вам нужен общий порт, например 3000, используйте напрямую ngrokngrok http 3000
источник
Добавление решения для будущих разработчиков.
Скопируйте адрес вашего IP-адреса. щелкните правой кнопкой мыши на своей сети -> сеть и обмен -> нажмите на соединение, которое у вас есть в данный момент -> подробности-> тогда адрес рядом с адресом ipv4 - это ваш IP-адрес, запишите это где-нибудь
Перейдите в панель управления -> Система и безопасность -> Брандмауэр Windows -> Расширенные настройки -> Входящие правила -> Новые правила (следуйте инструкциям, чтобы добавить порт, например, 80, его очень просто соблюдать)
рядом с ним укажите свой IP-адрес, который вы записали, в браузере телефона и номер порта, для которого вы создали правило. например, 192.168.0.2:80 и Wala.
Возможное решение, если оно не подключается. щелкните правой кнопкой мыши сеть-> открыть сеть и общий доступ-> посмотрите в списке ваших активных подключений, под названием вашего подключения тип подключения и щелкните его, если он общедоступный, и обязательно измените его на домашнюю сеть.
источник
Еще одна вещь, которую нужно проверить, - это то, что у некоторых маршрутизаторов возникают проблемы с мостовыми запросами, когда включены как 2.4G, так и 5G, а устройства работают на разных частотах. Попытка отключения одной из частот, чтобы оба устройства были подключены к одному и тому же интерфейсу.
источник
использовать
connectify
иxampp
или эквивалент, и введите IP - адрес на мобильный адресной строке доступаисточник
Лично я не настаиваю на использовании localhost при использовании устройства, простого решения не существует.
Просто запустите действие, где вы подключаетесь к localhost, где вы можете использовать эмулятор. Любая информация, которую вы должны получить от устройства, может быть сгенерирована с легкостью и может быть отправлена деятельности в качестве параметра.
источник