- Как получить доступ к localhost с моего устройства Android?
- 30 ответов
- пользователи mac osx
- портативное решение с ngrok (любая ОС с узлом или npm)
- альтернативное решение с nginx proxy pass
- шаг 1
- Шаг 2
- Шаг 3
- Шаг 4
- ADB обратный сокет (только для Android)
- ngrok (работает со всеми устройствами)
- тег onlineoffline-не удалять
- мои телефоны IP в строке ниже
- использование USB-кабеля:
Как получить доступ к localhost с моего устройства Android?
Я могу получить доступ к моему веб-серверу ноутбука с помощью эмулятора Android, я использую 10.0.2.2:portno хорошо работать.
но когда я подключаю свой реальный телефон Android, браузер телефона не может подключиться к тому же веб-серверу на моем ноутбуке. Телефон подключен к ноутбуку с помощью кабеля USB. Если я управляю команда adb devices, я вижу свой телефон.
30 ответов
USB не обеспечивает сеть для мобильных устройств.
если ваш рабочий стол и телефон подключены к одному и тому же WiFi (или любая другая локальная сеть), затем используйте IP-адрес рабочего стола, назначенный маршрутизатором (не localhost , а не 127.0.0.1 ).
чтобы узнать IP-адрес вашего рабочего стола:
- введите в командную строку ipconfig (Windows) или ifconfig (Unix)
- на Linux однострочный ifconfig | grep «inet » | grep -v 127.0.0.1 дадут важные вещи
- здесь куча предложений о том, как иметь аналогичный выход на Windows
- там будет куча IP-адресов
- попробуйте все из них (кроме вышеупомянутого localhost и 127.0.0.1 )
если ваш телефон подключен к мобильной сети, тогда все будет сложнее.
либо идти хардкор:
- сначала выяснить внешний IP-адрес маршрутизатора (https://www.google.de/search?q=myip)
- затем, на маршрутизаторе, перенаправьте некоторый порт в :
- наконец, используйте внешний IP-адрес и перенаправленный порт
в противном случае используйте что-то вроде xip.Ио или сайту ngrok.
Это очень просто.
включите WiFi Hotspot вашего телефона/маршрутизатора Android и подключите ноутбук к телефону.
запустите сервер на localhost (я использую WAMP server)
теперь откройте командную строку и введите команду ipconfig команда вы получите следующие вещи
скопировать 192.168.43.76 в вашем мобильном браузере.
Примечание: пожалуйста, установите сеть как «домашняя сеть». Настройка домашней сети означает, что ваш компьютер может делиться вещами с другими устройствами в той же сети. Если вы используете Windows 10 перейдите к WiFi > сетевые свойства сети > сделать компьютер обнаруживаемым.
пользователи mac osx
я добился успеха, включив удаленное управление:
- убедитесь, что ваш phone and laptop are connected to the same wifi network
- на mac перейдите в system preferences/sharing
- enable remote management
вы увидите сообщение, подобное этому
другие пользователи могут управлять компьютером с помощью адреса some.url.com
на вашем android устройстве теперь вы должны иметь возможность ударить some.url.com , который делегирует к localhost на вашем mac. Вы также можете использовать ifconfig чтобы получить ip вашего macbook
портативное решение с ngrok (любая ОС с узлом или npm)
если вы не против выставить свой проект с временным доменом, вы можете использовать ngrok . Допустим у меня есть приложение, которое работает на localhost:9460
теперь я могу дотянуться https://f7c23d14.ngrok.io как способ удаленного просмотра localhost. Это отлично подходит для обмена проектной работы или прогресса с клиентами
альтернативное решение с nginx proxy pass
если вы используете что — то подобное через nginx proxy_pass, это потребует немного большей настройки-это хакерский подход, но он работает для меня, и я открыт для предложений по его улучшению:
- включить удаленное управление (как указано выше)
- временно установите сервер для прослушивания порта 81 в отличие от 80
- sudo nginx -s reload
- посетить http://youripaddress:81
перезагрузить и посетить http://youripaddress:81
Я нашел быстрое решение этой проблемы. Попробуйте это ссылке. Это должно помочь вам решить проблему.
Я изменил только одну вещь, где в учебнике говорится, что вы меняете «127.0.0.1» на «все», измените его на IP-адрес, на котором работает ваш сервер.
после этого вы сможете подключиться к своему localhost.
Ниже приведена (корректура) копия информации со связанной страницы:
шаг 1
установите сервер Wamp (или любой другой, который вы предпочитаете).
Это один из лучших серверов, которые я знаю, чтобы настроить локальный сервер. Если вы установили Apache или любой другой сервер, игнорировать этот шаг.
Загрузите и установите WAMP Server отсюда.
Шаг 2
добавить новое правило для порта 80 в Брандмауэре Windows.
Откройте Панель управления и выберите Windows Брандмауэр.
выберите Дополнительные параметры на левой панели страницы настройки брандмауэра Windows.
выберите входящие правила на левой панели, затем выберите новое правило.
выберите порт и нажмите кнопку Далее.
выберите переключатель» определенные локальные порты » и введите 80 в качестве значения порта.
разрешить соединение без изменений и перейти к следующему шаг.
сохранить параметры профиля без изменений и нажмите кнопку Далее.
дайте хорошее имя вашему новому правилу и нажмите кнопку Готово.
Это позволит порт 80 доступ к локальной сети IP.
Шаг 3
отредактируйте httpd.conf-файл сервера Wamp для исправления ошибки 403.
нужно отредактировать этот файл. В противном случае мы получим 403 запрещенную ошибку при доступе к localhost через IP локальной сети.
нажмите на иконку WAMP Server tray.
открыть подменю сервера Apache.
Выберите файл httpd.conf.
найдите этот раздел конфигурации в httpd.файл conf:
найдите и замените ‘127.0.0.1 ‘ на ‘All’, сохраните файл и перезапустите сервер Wamp.
Шаг 4
найти своего локальной IP-сети.
открыть командную строку.
Введите и введите
на ПК с Windows вам, возможно, не нужно ничего делать, кроме как узнать свой IPv4-адрес с помощью команды «ipconfig».
- Шаг 1: Подключите телефон к ПК с помощью USB-кабеля.
- Шаг 2: используйте команду «ipconfig», чтобы узнать ваш IPv4-адрес (внешний IP маршрутизатора) e.g 192.168.1.5 в моем случае.
- Шаг 3: Просто откройте «192.168.1.5: 8080» из Вашего браузера телефона. Работает !
Другие Детали Env : Windows 7, Google Nexus 4 (4.2.2), Сервер Tomcat, Приложение Grails.
вы также должны убедиться, что у вас есть разрешение на доступ к интернету в файле AndroidManifest:
С простым решением (просто доступ laptop_ip_addr:port С мобильного устройства, когда мобильный и ноутбук находятся на одном WiFi), я получаю учтите, ошибка. То есть мой MacBook, похоже, отказывается от попытки подключения с моего мобильного телефона.
ADB обратный сокет (только для Android)
данное решение работает для меня (протестировано с MacBook):
- подключите мобильное устройство Android с USB-кабелем к ноутбук
- включить Отладка USB мобильные устройства
- на ноутбуке, запустите adb reverse tcp:4000 tcp:4000
- использовать свой собственный номер порта вместо 4000
- теперь, на мобильном устройстве, вы можете перейти к http://localhost:4000/ , и он будет фактически подключаться к ноутбуку, а не к мобильному устройству
недостатком является то, что это работает только с один мобильное устройство в то время. Если вы хотите получить доступ к другому мобильному устройству, сначала отключите первое (disable Отладка USB), подключите новый (включить Отладка USB), и работать adb reverse tcp:4000 tcp:4000 снова.
ngrok (работает со всеми устройствами)
другое решение, которое всегда должно работать, —сайту ngrok (как уже упоминалось в других ответов). Он работает через Интернет, а не через локальную сеть.
он чрезвычайно прост в использовании:
это выводит, среди некоторой другой информации, строку типа
теперь вы можете перейти к http://4cc5ac02.ngrok.io на любом устройстве, подключенном к Интернету, и этот URL ведет на localhost:4000 вашего ноутбука.
обратите внимание, что пока команда ngrok запущена (пока вы не нажмете Ctrl-C), ваш проект публично служил. Все, у кого есть URL, могут видеть он.
однако есть гораздо лучшее решение. Вы можете получить доступ к хост-машине с IP-адресом «10.0.2.2». Это было разработано таким образом командой Android. Таким образом, ваш веб-сервер может отлично работать на localhost, и из вашего приложения Android вы можете получить к нему доступ через «http://10.0.2.2:8080».
поскольку это старый вопрос, есть новый способ сделать это, который действительно очень прост. Скачать расширение ADB Chrome и далее:
«переадресация портов на Chrome для Android позволяет легко протестировать ваш сайт разработки на мобильном телефоне. Он работает, создавая прослушивающий TCP-порт на мобильном устройстве, который сопоставляется с определенным TCP-портом на вашем компьютере разработки. Трафик между этими портами проходит через USB, поэтому подключение не зависит от конфигурации сети.»
возможно, ваш веб-сервер прослушивает ваш интерфейс loopback, а не сетевой интерфейс. Основные признаки этого:
- хиты 127.0.0.1 и localhost (из localhost или эмулятора Android) работа
- хиты 192.168.xxx.xxx не работает, будь то из localhost, LAN или WAN
Я больше говорю о диагностике этого и исправлении этого в ответе здесь.
запустите CMD от имени администратора
и на экране CMD введите команду ipconfig и появится экран с текстом
Как это фото
и вы можете получить доступ к localhost с помощью этого ip вы должны быть подключены к той же сети, что и компьютер, подключенный к
попробуйте перейти к этому файлу: C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf
и измените 10.0.2.2 на свой IP-адрес.
наконец-то сделано в Ubuntu, я запускаю сервер nodejs на localhost: 8080
1) открытый тип терминала ifconfig вы получите ip что-то вроде этого : inet addr:192.168.43.17
2) теперь просто поместите url-адрес, как это : «192.168.43.17:8080» (порт 8080, поступающий из номера порта localhost) пример: «192.168.43.17: 8080 / fetch»
Я использовал этот процесс:
- установить Саша на ПК
- настройка ПК и Android устройства после этих отличная инструкция
- просто перейдите в браузер на устройстве Android и введите http://ipv4 — . скрипач для доступа к localhost
обратите внимание, что этот процесс требует изменения настроек WiFi на устройстве Android в начале и конце каждой сессии. Я нашел это менее болезненно после укоренения устройства Android.
прежде всего подключите телефон и компьютер к общему wifi.
затем откройте командную строку, используя run as administrator
дайте команду ipconfig
который показывает беспроводной lan ip
используйте IP:порт вашего сервера для доступа в телефоне
более простой способ по умолчанию localhost-использовать http://localhost:port. Это работает в ноутбуке и Android, а также.
если он не работает, то в android установите IP-адрес по умолчанию вашего телефона в 127.0.0.1: port:)
откройте терминал и введите: —
прежде всего сделайте ваш IP-адрес машины(где работает сервер)статическим. Введите статический IP-адрес в коде Android. Затем перейдите к интерфейсу вашего wifi-маршрутизатора и проверьте левую панель. Вы увидите такую опцию, как переадресация/переадресация портов. Нажмите на него и переадресуйте порт 80. Теперь отредактируйте свой htttpd.conf файл и отредактируйте его для
. Перезапустите сервер. Все должно работать нормально.
дополнительно вы можете зарезервировать IP адрес вашей машины так, чтобы она всегда выделялась вам. В левой панели интерфейса маршрутизатора найдите DHCP -> Address Reservation , нажмите на нее. Введите MAC-адрес компьютера и IP-адрес, указанный в коде. Нажмите кнопку Сохранить. Это зарезервирует данный IP-адрес для вашего компьютера.
решение для подключения моего мобильного устройства к моему серверу wamp на основе моего ноутбука:
во-первых, wifi не является маршрутизатором. Поэтому для подключения мобильного устройства к серверу wamp на основе localhost на моем ноутбуке мне нужен маршрутизатор. Я загрузил и установил бесплатный виртуальный маршрутизатор:https://virtualrouter.codeplex.com/
настройка очень проста:
- правой кнопкой мыши на значок виртуального маршрутизатора в системе Лоток
- нажмите настроить виртуальный маршрутизатор
- введите пароль
- если подключение к интернету находится в ethernet, выберите общее подключение: Ethernet
- затем установите wifi на свой ноутбук и устройство
- на устройстве подключитесь к сетевому имени виртуального маршрутизатора
затем вы можете подключиться к ноутбуку через устройство, запустив браузер и заполнить IPV4-адрес вашего ноутбука (чтобы найти его в windows, введите cmd: ipconfig и найдите адрес ipv4)
вы должны увидеть домашнюю страницу сервера wamp.
столкнулся с этой проблемой, используя несколько разных серверов localhost. Наконец, получил мое приложение и работает на телефоне в считанные секунды, просто используя простой сервер Python. Это займет всего несколько секунд, поэтому стоит попробовать, прежде чем переходить к более сложным решениям. Во-первых, убедитесь, что у вас установлен Python. cmd+r и типа python или $ python —version в терминале mac.
тогда просто найдите адрес вашей хост-машины на сеть, я использовал System Preferences/Sharing на Mac, чтобы найти его. Нажмите, что в вашем Android устройстве и должны загрузить ваш index.html и вы должны быть хорошо.
если нет, то проблема в чем-то другом, и вы можете посмотреть на некоторые другие предлагаемые решения. Удачи!
* EDIT*
еще одно быстрое решение, чтобы попробовать, если вы используете Chrome является веб-сервер для расширения Chrome. Я нашел быстрый и очень простой способ получить доступ к localhost на моем телефон. Просто убедитесь, что проверить Accessible to local network под Options и он должен работать на вашей камере без каких либо проблем.
сайту ngrok позволяет поместить localhost на временный сервер и очень прост в настройке. Я предоставил здесь некоторые шаги, которые можно найти по ссылке:
- скачать ngrok zip по ссылке выше
- открыть zip
- запустить сервер локально и обратите внимание на номер порта
- в терминале перейдите в папку, где живет ngrok, и введите ngrok http [port number]
вы увидите маленькую приборную панель в вашем терминал с адресом, указывающим на локальный. Укажите приложение на этот адрес и создайте его на своем устройстве.
хотя один ответ был принят, но это сработало для меня:
- убедитесь, что ваш компьютер и Android-устройство находятся в одной сети.
- получить IP-адрес вашего компьютера. (в случае типа mac ifconfig внутри терминала и искать en0/en1 -> inet это должно быть что-то вроде 19*.16*.1.4 .) (в windows используйте `ipconfig)
Откройте настройки мобильного телефона и перейдите в сеть — > длительное нажатие сети wifi — > изменить сеть — > прокрутите вниз до advanced Параметры — > выберите proxy manual и в proxy hostname введите свой адрес, т. е. 19*.16*.1.4 внутренний порт введите свой порт. и сохраните его.
искать what is my ip в google chrome и получите свой ip, скажем, это 1**.1**.15*.2**
это так просто, как это.
это то, что сработало для меня, я добавил еще одну строку после 127.0.0.1 ip, чтобы указать точный ip-адрес локальной сети (не публичный ip-адрес) устройства, которое я хотел использовать. В моем случае мой Samsung Galaxy S3
как предложено Bangptit редактировать httpd.conf-файл (x — номера версий): C:\wamp\bin\apache\Apache2.X. x\conf\httpd.conf
найдите тег onlineoffline и добавьте ip-адрес своего телефона (я нашел ip-адрес своих телефонов в своих маршрутизаторах страницы конфигурации):
тег onlineoffline-не удалять
мои телефоны IP в строке ниже
можно было бы расширить это, чтобы включить весь поддомен, например, 192.168.1.0 / 24 и т. д.
самый простой способ (это сработало безупречно для меня) — локально разместить свой сайт на 0.0.0.0:
и для доступа к нему с помощью мобильных устройств используйте :
- чтобы узнать ваш локальный ipv4-адрес, просто введите ipconfig в cmd
- любое устройство, подключенное к той же сети, может получить доступ к этому url.
сайту ngrok — лучшее решение. Если вы разрабатываете PHP, я рекомендую установить Фреймворк Laravel Услуга, Он имеет версии MacOS и Linux, тогда вы можете использовать . Если вы разрабатываете какие-либо технологии frontend и вам нужно поделиться портом, таким как 3000, используйте ngrok напрямую ngrok http 3000
использовать connectify и xampp или эквивалент и введите ip-адрес в строке мобильного URL для доступа
лично я не настаиваю на использовании localhost при использовании устройства, нет простого решения.
просто начните игру, где вы подключаетесь к localhost, где вы можете использовать эмулятор. Любая информация, которую вы должны получить от устройства, может быть сгенерирована с легкостью и может быть отправлена в activity в качестве параметра.
Что сработало для меня (цель: отладка приложения Windows server, работающего на localhost:99999 из клиентского приложения, работающего на телефоне android )
- телефон и ПК подключены к одной сети 192.168.1.хxxx (подключен через wifi в моем случае)
- включить порт 99999 в Брандмауэре windows
- запуск в cmd от имени администратора: netsh http add urlacl url=http://*: 99999 / user=Everyone
затем url приложения службы (my_dev_machine_ip:99999/path_to_service) был доступен с телефона.
добавление решения для будущих разработчиков.
скопируйте адрес вашего ip-адреса. щелкните правой кнопкой мыши по вашей сети — > сеть и общий доступ — > нажмите на соединение, которое у вас есть в настоящее время-> детали-> тогда адрес рядом с ipv4-адресом-ваш ip-адрес, запишите это где-нибудь
перейдите в Панель управления — > Система и безопасность -> Брандмауэр windows -> Дополнительные настройки -> входящие правила -> новые правила (выполните шаги, чтобы добавить порт e.g 80, его действительно просто следуйте)
поместите свой ip-адрес, который вы записали в браузере телефона,и номер порта, для которого вы создали правило. е.г 192.168.0.2:80 и вала.
возможное решение, если оно не соединяется. щелкните правой кнопкой мыши сеть — >открыть сеть и общий доступ — > посмотрите под видом активных соединений, под именем вашего соединения на тип соединения и нажмите на него, если он является общедоступным, и убедитесь, что изменить его на домашнюю сеть.
его очень просто, — командная строка GOTO (Window + R [type cmd]) — тип ipconfig , который покажет текущий IP-адрес вашего ПК-напишите taht IP-адрес в браузере вашего телефона Android с :80 e.g (http://192.168.X. x: 80)
localhost появится на вашем телефоне
использование USB-кабеля:
(например, если вы используете WAMP server):
1) установите драйверы Android на свой компьютер и загрузите portable Android Привязывать Обратный Инструмент и подключите устройство Android через обратное применение инструмента.
2) Нажмите на значок WAMP > Put Online (после перезапуска).
3) Откройте свой IP в браузере Android (т. е. http://192.168.1.22 или http://164.92.124.42 )
чтобы найти локальный IP-адрес, нажмите Пуск>Выполнить>cmd и типа команду ipconfig и ваш IP-адрес будет отображаться в выходных данных.
вот и все. Теперь вы можете получить доступ (открыть) localhost с Android.
Источник