¿Cómo puedo acceder a mi localhost desde mi dispositivo Android?

543

Puedo acceder al servidor web de mi computadora portátil usando el emulador de Android, estoy usando 10.0.2.2:portno funciona bien.

Pero cuando conecto mi teléfono Android real, el navegador del teléfono no puede conectarse al mismo servidor web en mi computadora portátil. El teléfono está conectado a la computadora portátil mediante un cable USB. Si ejecuto el comando adb devices, puedo ver mi teléfono.

¿Qué me estoy perdiendo?

gath
fuente
3
intente esto: stackoverflow.com/a/17603378/1600061
Zsivics Sanel
Vea la documentación aquí: developer.android.com/tools/devices/…
Henry Aloni
3
Apague el firewall mientras prueba su página web o agregue su ip a las redes confiables en la configuración del firewall.
zeeali
Otra opción: stackoverflow.com/questions/35650343/…
statosdotcom
souper ez with ngrok
JonPizza

Respuestas:

403

USB no proporciona red al dispositivo móvil.

Si tanto su computadora de escritorio como su teléfono están conectados al mismo WiFi (o cualquier otra red local), use la dirección IP de su computadora de escritorio asignada por el enrutador (no localhosty no 127.0.0.1).

Para averiguar la dirección IP de su escritorio:

  • escriba en la línea de comando ipconfig(Windows) o ifconfig(Unix)
    • en Linux, el one-liner ifconfig | grep "inet " | grep -v 127.0.0.1producirá solo las cosas importantes
    • Hay un montón de sugerencias sobre cómo tener una salida similar en Windows
  • va a haber un montón de IP
  • probar todos ellos (excepto los mencionados localhosty 127.0.0.1)

Si su teléfono está conectado a la red móvil , las cosas serán más difíciles.

O ve al hardcore:

  • primero averigüe la dirección IP externa de su enrutador ( https://www.google.de/search?q=myip )
  • luego, en el enrutador, reenvíe algún puerto a <your desktop IP>:<server port number>
  • finalmente use la dirección IP externa y el puerto reenviado

De lo contrario, use algo como xip.io o ngrok .

NOTA : El ifconfigcomando ha quedado en desuso y, por lo tanto, falta por defecto en Debian Linux, comenzando desde el estiramiento de Debian. La alternativa nueva y recomendada para examinar una configuración de red en Debian Linux es el comando ip. Por ejemplo, para usar el comando ip para mostrar una configuración de red, ejecute lo siguiente:

ip address

El comando ip anterior se puede abreviar a:

ip a

Si aún prefiere usarlo ifconfigcomo parte de su rutina diaria de administración del sistema, puede instalarlo fácilmente como parte del net-toolspaquete.

apt-get install net-tools

La referencia está aquí.

Elijah Saounkine
fuente
Gracias, esto fue de gran ayuda para mí. El problema para mí fue que no sabía que el servidor local de apache se podía abordar a través de la ip 10.0.2.2. ... Intento muchas otras direcciones IP, como el show de ipconfig, etc. Pero, de nuevo, ¡muchas gracias!
Vidar Vestnes
44
No entiendo esta solución del problema. ¿Me pueden ayudar acerca de cómo mi teléfono puede acceder a mi servidor? Espero que me desarrolles esta solución. Gracias.
iremce
1
Lea mi comentario a continuación. También debe tener permiso de acceso a Internet. <uses-permission android: name = "android.permission.INTERNET" />
Sanjay Kumar
3
@simo vaya a la página de inicio de su enrutador, 10.0.0.1 para XFinity, generalmente 192.168.1.1, e inicie sesión, busque Dispositivos conectados o IP locales, encuentre su computadora y bam. El mío era 10.0.0. #, Luego simplemente agregue [10.0.0. # :( puerto) / Servidor / Servlet] o lo que sea
jp093121
2
Esta no debería ser la respuesta aceptada para esta pregunta. El reenvío de puertos en Chrome Devtools y Adb reverse funciona perfectamente bien con un cable USB.
Roger Madsen
229

En realidad es bastante simple.

  • Active el punto de acceso WiFi de su teléfono / enrutador Android y conecte su computadora portátil a su teléfono
  • Inicie su servidor en localhost(Estoy usando el servidor WAMP para Windows)
  • Ahora abra el símbolo del sistema e ingrese
ipconfig

Una vez que hayas hecho eso, verás algo como lo siguiente:

Adaptador de LAN inalámbrica Conexión de red inalámbrica:
  Sufijo DNS específico de conexión. :
  Dirección IPv6 local de enlace. . . . . : fe80 :: 80bc: e378: 19ab: e448% 11
  Dirección IPv4 . . . . . . . . . . : 192.168.43.76
  Máscara de subred . . . . . . . . . . . : 255.255.255.0
  Puerta de enlace predeterminada . . . . . . . . . : 192.168.43.1
  • Copie la dirección IPv4 (en este caso, es 192.168.43.76)
  • En su navegador móvil, simplemente pegue la dirección IPv4

Nota: configure su red como " Red doméstica ". Configurar la red como Red doméstica significa que está permitiendo que su PC comparta cosas con otros dispositivos en la misma red.

Si está utilizando Windows 10, esto se puede hacer con lo siguiente:

  • Configuraciones abiertas
  • Ir a Red e Internet
  • Seleccione WiFi en el menú de la izquierda.
  • Toca el nombre del WiFi conectado
  • Establecer el perfil de red de la red como privado

Si tiene un problema, es más probable que lo haga con el Firewall de Windows.

  • Panel de control abierto
  • Vaya a Firewall de Windows Defender
  • Toque Permitir una aplicación o función a través del Firewall de Windows Defender
  • Compruebe si la aplicación está habilitada para redes privadas (debe haber una marca)
  • Si se no activado, pulse en Cambiar la configuración y marque la casilla de verificación en virtud privada para la aplicación
Dhiral Pandya
fuente
30
hm hice esto pero el navegador parece tardar una eternidad en cargarse y luego me da un error ¿Estoy haciendo algo mal? ¿Y qué quieres decir con red doméstica
Lion789
12
Recuerde apagar también el firewall en la computadora.
Minh Nguyen
2
Sí, apagar el firewall ayudó. Gracias.
Beemo
2
* Red doméstica es (: red doméstica significa que su computadora me permitió compartir cosas con los dispositivos de la misma red.
Leap Hawk
66
"Toca Permitir una aplicación o función a través del Firewall de Windows Defender. Comprueba si la aplicación está habilitada para redes privadas (debería haber una marca)" ¿A qué aplicación te refieres?
Liz Lamperouge
71

Usuarios de Mac OS X

Logré esto habilitando la administración remota :

  • Asegúrese de que su teléfono y computadora portátil estén conectados a la misma red WiFi
  • En Mac, ve a System preferences/sharing
  • Habilitar la administración remota

Verá un mensaje similar a este:

  • Otros usuarios pueden administrar su computadora usando la dirección some.url.com

En su dispositivo Android, ahora debería poder ir a some.url.com, que delega localhosten su Mac. También puede usar ifconfigpara obtener la dirección IP de su Mac.


Solución portátil con ngrok(cualquier sistema operativo con Node.js)

Si no le importa exponer su proyecto con un dominio temporal, puede usarlo ngrok. Digamos que tengo una aplicación que se ejecuta localhost:9460, simplemente puedo escribir

npm install ngrok -g

ngrok http 9460

Esto me dará:

Estado de la sesión en línea
Actualización disponible (versión 2.2.8, Ctrl-U para actualizar)
Version 2.2.3
Región Estados Unidos (us)
Interfaz web http://127.0.0.1:4040
Reenvío http://f7c23d14.ngrok.io -> localhost: 9460
Reenvío https://f7c23d14.ngrok.io -> localhost: 9460

Conexiones ttl opn rt1 rt5 p50 p90
                              0 0 0.00 0.00 0.00 0.00

Ahora puedo alcanzar https://f7c23d14.ngrok.iocomo una forma de ver de forma remota localhost. Esto es genial para compartir el trabajo de diseño o el progreso con los clientes.


Solución alternativa con nginxpase de proxy

Si está ejecutando algo como esto nginx proxy_pass, requerirá un poco más de ajustes: este es un enfoque hacky, pero funciona para mí y estoy abierto a sugerencias para mejorarlo:

  • Habilitar la administración remota (como se mencionó anteriormente)
  • Configure temporalmente el servidor para escuchar en el puerto 81en lugar de80
  • Escriba el siguiente comando:
sudo nginx -s reload
  • Visitar http://youripaddress:81
server {
  listen 80;
  listen 81;   # <-------- add this to expose the app on a unique port
  server_name  ~^(local|local\.m).example.com$;
  # ...
}

Recargar y visitar http://youripaddress:81

lfender6445
fuente
2
Si está utilizando esta configuración de 'administración remota', otra cosa útil que debe saber es que si tiene muchos servidores con alias ejecutándose en mamp, su dispositivo móvil (conectado a través de usb) solo le dará acceso al primer <VirtualHost> que es definido en httpd-vhosts.conf, así que simplemente mueva su proyecto actual a la parte superior de la lista
DrewT
Como dijiste, habilité la administración remota en mi Mac, y me dieron otro conjunto de casillas de verificación de varias maneras para que mi computadora pudiera administrarse de forma remota. Los dejé sin marcar, excepto Observar, y funcionó bien para mí. Mi servidor web se estaba ejecutando en mi Mac en el puerto localhost 5555, y vi "otros usuarios pueden administrar su computadora usando la dirección 10.0.0.12", así que en el navegador de mi teléfono escribí 10.0.0.12:5555 y vi mi página web.
Marcus
Funcionó cuando se usó la IP 192.168.0.101pero el nombre de host no funcionó.
Krishnadas PC
66
En una Mac, simplemente ALT + haga clic en Wi-Fi en su barra de menú para obtener su dirección IP.
matharden
Inhabilité mi cortafuegos pero todavía muestra la conexión rechazada, ¿alguna idea de cómo hacerlo funcionar?
Unnikrishnan
67

Con la solución simple (solo acceso laptop_ip_addr:portdesde el dispositivo móvil, cuando el móvil y la computadora portátil están en el mismo WiFi), recibo un error ERR_CONNECTION_REFUSED . Es decir, mi MacBook parece rechazar el intento de conexión desde mi móvil.


ADB Reverse Socket (solo Android)

Esta solución funciona para mí (probado con una MacBook):

  1. Conecte el dispositivo móvil Android con un cable USB a la computadora portátil
  2. Habilitar depuración USB en dispositivo móvil
  3. En la computadora portátil, ejecuta adb reverse tcp:4000 tcp:4000
    • Use su número de puerto personalizado en lugar de 4000
  4. Ahora, en el dispositivo móvil, puede navegar http://localhost:4000/y realmente se conectará a la computadora portátil, no al dispositivo móvil

Vea las instrucciones aquí .

La desventaja es que esto funciona solo con un solo dispositivo móvil a la vez . Si desea acceder con otro dispositivo móvil, primero debe desconectar el primero (deshabilitar la depuración USB ), conectar el nuevo (habilitar la depuración USB ) y ejecutar de adb reverse tcp:4000 tcp:4000nuevo.


ngrok (funciona con todos los dispositivos)

Otra solución que siempre debería funcionar es ngrok (como se menciona en otras respuestas). Funciona a través de Internet y no de la red local.

Es extremadamente fácil de usar:

brew cask install ngrok
ngrok http 4000

Esto genera, entre otra información, una línea como

Forwarding                    http://4cc5ac02.ngrok.io -> localhost:4000

Ahora, puede navegar http://4cc5ac02.ngrok.ioen cualquier dispositivo que esté conectado a Internet, y esta URL redirige a localhost:4000su computadora portátil.

Tenga en cuenta que el tiempo que el comando ngrok está en marcha (hasta llegar a Ctrl-C ), su proyecto está públicamente servido. Todos los que tienen la URL pueden verla.

weibeld
fuente
2
me salvaste la vida, amigo
To Be
Gracias. Me ayudaste mucho. Usé adb reverse solo reemplazando 4000 port a 3000 y funcionó como lo necesitaba.
Marcus Crisostomo el
maldición que funcionó finalmente, gracias!
Alex
38

Encontré una solución rápida a este problema. Prueba este enlace . Debería ayudarte a solucionar el problema.

Solo cambié una cosa, donde el tutorial dice que cambia '127.0.0.1' a 'Todos', cámbielo a la dirección IP en la que se ejecuta su servidor.

Después de eso, deberías poder conectarte a tu host local.


A continuación se muestra una copia (corregida) de la información de la página vinculada:

Paso 1

Instale el servidor Wamp (o cualquier otro que prefiera).

Este es uno de los mejores servidores que conozco para configurar un servidor local. Si ha instalado Apache o cualquier otro servidor, ignore este paso.

Descargue e instale el servidor Wamp desde aquí.

Paso 2

Agregue una nueva regla para el puerto 80 en Firewall de Windows.

  1. Abra el Panel de control y seleccione Firewall de Windows.

  2. Seleccione Configuración avanzada en el panel izquierdo de la página de configuración del Firewall de Windows.

  3. Seleccione Reglas de entrada en el panel izquierdo, luego seleccione Nueva regla.

  4. Seleccione Puerto y haga clic en Siguiente.

  5. Seleccione el botón de opción "Puertos locales específicos" e ingrese 80 como el valor del puerto.

  6. Mantenga Permitir la conexión sin cambios y avance al siguiente paso.

  7. Mantenga las opciones de Perfil sin cambios y haga clic en Siguiente.

  8. Dale un buen nombre a tu nueva regla y haz clic en Finalizar.

Esto permitirá el acceso al puerto 80 en la red IP local.

Paso 3

Edite el archivo httpd.conf del servidor Wamp para corregir el error 403.

Necesitamos editar este archivo. De lo contrario, obtendremos el error prohibido 403 cuando accedamos al host local a través de una IP de red local.

  1. Haga clic en el icono de la bandeja del servidor Wamp.

  2. Abra el submenú del servidor Apache.

  3. Seleccione httpd.conf.

  4. Encuentre esta sección de configuración en el archivo httpd.conf:

    Directory c:/wamp/www/”
    #
    # Possible values for the Options directive are “None”, “All”,
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that “MultiViews” must be named *explicitly* — “Options All”
    # doesn’t give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be “All”, “None”, or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    AllowOverride all
    
    #
    # Controls who can get stuff from this server.
    #
    
    # onlineoffline tag – don’t remove
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1

Busque y reemplace '127.0.0.1' con 'Todos', guarde el archivo y reinicie su servidor Wamp.

Paso 4

Encuentra tu red IP local.

  1. Abra el símbolo del sistema.

  2. Escriba e ingrese el ipconfigcomando.

  3. En mi caso, la dirección de mi red de área local es 10.0.0.2.

Esta es la IP que necesita para acceder a su host local en su teléfono Android a través de wifi. Para probar si está funcionando, escriba esta dirección IP en su navegador de escritorio donde está instalado su servidor localhost. El navegador debe mostrar su página localhost con éxito. Esto asegurará que esta IP de la red local ahora sea exitosamente accesible en su teléfono Android.

Espero que este tutorial te ayude a acceder a tu localhost a través de wifi.

GertV
fuente
¡Gracias! Esto funcionó muy fácil. sólo una cosa; Dejé el httpd.conf como# onlineoffline tag - don't remove Order Allow,Deny Allow from all
numediaweb
1
tutorial está basado en Windows? wut?
abbood
1
el enlace ya no funciona, por lo que toda la respuesta es inútil ahora ya que la información no se ha agregado a SO sobre cómo hacerlo.
rtack
Para el servidor Wamp v3, recibí un error prohibido. Consulte esta respuesta stackoverflow.com/questions/23382627/… sobre cómo modificar la información de vhosts (no edite el archivo httpd.conf como se muestra arriba)
friek108
Parece que esta es una versión muy antigua de Wamp, los archivos de configuración son bastante más complicados ahora. Especialmente si usa la función VHosts. No puedo entenderlo, demasiadas capas de anulaciones.
Jonathan
37

En una PC con Windows Es posible que no necesite hacer nada más que averiguar su dirección IPv4 utilizando el comando "ipconfig".

  • Paso 1: conecta tu teléfono a la PC con un cable USB.
  • Paso 2: Use el comando 'ipconfig' para averiguar su dirección IPv4 (IP externa del enrutador), por ejemplo, 192.168.1.5 en mi caso.
  • Paso 3: Simplemente acceda a "192.168.1.5:8080" desde el navegador de su teléfono. Funciona !

Otros detalles del entorno: Windows 7, Google Nexus 4 (4.2.2), servidor Tomcat, aplicación Grails.

También debe asegurarse de tener permiso para acceder a Internet en el archivo AndroidManifest:

<uses-permission android:name="android.permission.INTERNET"/>
Sanjay Kumar
fuente
Lo intenté pero sigue diciendo que "Conexión rechazada". ¿Por qué? :( ¿El puerto tiene que ser 8080? Actualmente, mi servicio web se está ejecutando en otro puerto.
Triet Doan
2
Estaba usando Tomcat en el puerto 8080. Puede agregar su propio puerto de servidor en lugar de 8080.
Sanjay Kumar
¿Y qué hay de una aplicación web? no es una aplicación nativa
amdev
Todavía no tengo acceso a mi
host
Lo intenté pero dicejava.io.FileNotFoundException: http://192.168.8.65:8000/app/web/users/
Moeez
16

Sin embargo, hay una solución mucho mejor. Puede acceder a su máquina host con la dirección IP "10.0.2.2". Esto ha sido diseñado de esta manera por el equipo de Android. Por lo tanto, su servidor web puede ejecutarse perfectamente en localhost y desde su aplicación de Android puede acceder a través de "http://10.0.2.2:8080".

Akhil Jain
fuente
44
Es cierto, el truco es especificar la dirección IP local de su máquina y acceder a ella a través de un enrutador inalámbrico conectado entre su dispositivo Android y su máquina, también conocido como sistema
Akhil Jain
Gran punto, estaba buscando exactamente esto, para comunicar el emulador con localhost. ¡¡Gracias!!
Águila
13

Como esta es una vieja pregunta, hay una nueva forma de hacerlo que es realmente muy simple. Descargue la extensión ADB Chrome y luego siga estas instrucciones:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging

Jason
fuente
3
Ya no es necesario descargar ADB, ya que está en desuso, pero vaya a developers.google.com/chrome-developer-tools/docs/… y siga las instrucciones. Nota: tuve que reenviar el puerto 8443 a localhost: 8443
Dimitris
¿esto solo funciona para llamadas de URL desde Chrome en el dispositivo o se supone que también funciona desde mi aplicación?
Orkun Ozen
3
Esto me puso en el camino correcto: una respuesta más reciente sobre Chrome Dev Tools se puede encontrar aquí: Android Chrome Reverse Port Forwarding
Richard Le Mesurier
Me atasqué porque no tenía Google Chrome instalado en mi dispositivo. Doh!
Chad Bingham
9

"El reenvío de puertos en Chrome para Android facilita la prueba de su sitio de desarrollo en dispositivos móviles. Funciona creando un puerto TCP de escucha en su dispositivo móvil que se asigna a un puerto TCP particular en su máquina de desarrollo. El tráfico entre estos puertos viaja a través de USB, por lo que la conexión no depende de la configuración de su red ".

Más detalles aquí: https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding

Daniel
fuente
9

Esta solución es utilizable cuando su dispositivo móvil y computadora no están en la misma red:

Debe utilizar el reenvío de puertos en este caso. En la ventana de inspección de Google Chrome (Chrome: // inspeccionar) Puede ver los dispositivos conectados. ingrese la descripción de la imagen aquí

Haga clic en el botón de descarga de puertos y configure un puerto aleatorio, digamos 3000, para el puerto que usa su computadora portátil, digamos 8080.

ingrese la descripción de la imagen aquí

ahora use localhost: 3000 del dispositivo para acceder al localhost: 8080 (o_whatever_ip: portno) en la computadora portátil. Puede verificarlo en el navegador móvil. Pruebe localhost: 3000 en el navegador móvil. Asegúrese de marcar la casilla de verificación "Habilitar el reenvío de puertos" en la ventana "Configuración de reenvío de puertos"

Ajmal Ansari
fuente
¡Te amo amigo! ¡Necesitas escribir un tutorial con estos pasos!
Rafael Gomes Francisco
7

Ejecute CMD como administrador

y en la pantalla CMD escriba ipconfig y la pantalla aparecerá con texto

como esta foto ingrese la descripción de la imagen aquí

y puede acceder a su localhost usando esta ip, debe estar conectado a la misma red que su PC

Youssef Subehi
fuente
simplemente apague el firewall
SalindaKrish
6

Es posible que su servidor web escuche en su interfaz de bucle invertido y no en su interfaz de red. Los principales signos de esto son:

  • Golpea 127.0.0.1y funciona localhost(desde localhost o emulador de Android)
  • Los hits 192.168.xxx.xxxno funcionan, ya sea desde localhost, LAN o WAN

Hablo más sobre diagnosticar esto y arreglar esto en una respuesta aquí .

inocente
fuente
6

Intenta ir a este archivo: C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf

#   onlineoffline tag - don't remove
    Order Deny,Allow
    Allow from all // change it Deny
    Allow from 127.0.0.1

Y cambie 10.0.2.2 a su dirección IP.

bangptit
fuente
lo siento, cambio para permitir todo si es "Denegar"
bangptit
Estoy usando XAMPP y este video me dio la respuesta para que funcione: youtube.com/watch?v=YrA_yN3gySs
Leon
5

finalmente hecho en Ubuntu, estoy ejecutando el servidor nodejs en localhost: 8080

1) abra el tipo de terminal ifconfig obtendrá ip algo como esto: inet addr: 192.168.43.17

2) ahora simplemente ponga la dirección de url de esta manera: "192.168.43.17:8080" (el puerto 8080 proviene del número de puerto localhost), por ejemplo: "192.168.43.17:8080/fetch"

iamkdblue
fuente
esto solo funciona para mí cuando estoy conectado a la misma red. Necesito algo que funcione sin internet
Geek Guy
5

Use esto en su ubuntu / Macbook para obtener la dirección IP de su sistema. Su dispositivo móvil y sistema deben estar en la misma red

ip addr | grep inetEsto le dará una dirección IP que se parece 192.168.168.46. Use esto en su teléfono inteligente.

Espero que esto ayude.

Naveen TP
fuente
4

Usé este proceso:

  • Instale Fiddler en la PC
  • Configure la PC y el dispositivo Android siguiendo estas excelentes instrucciones
  • Simplemente vaya al navegador en el dispositivo Android y escriba http: //ipv4.fiddler para acceder al localhost

Tenga en cuenta que este proceso requiere que cambie la configuración de WiFi en el dispositivo Android al comienzo y al final de cada sesión. Esto me pareció menos doloroso que rootear mi dispositivo Android.

usuario3078359
fuente
4

La forma más fácil de predeterminar localhost es usar http: // localhost: port . Esto también funciona en una computadora portátil y Android.

Si no funciona, en Android configure la IP predeterminada de su teléfono en 127.0.0.1:port :)

Abra la terminal y escriba: -

 hostname -i
 #127.0.0.1
 hostname -I
 #198.168.*.*
Harry1992
fuente
3

Estaba teniendo este problema usando varios servidores localeshost diferentes. Finalmente, puse en marcha mi aplicación en el teléfono en segundos con solo usar el servidor Python simple. Solo toma unos segundos, por lo que vale la pena intentarlo antes de buscar soluciones más complicadas. Primero, asegúrese de tener Python instalado. cmd+ry escriba pythonpara Windows o $ python --versionen la terminal de Mac.

Próximo:

cd <your project root>

$ python -m SimpleHTTPServer 8000

Luego, solo encuentre la dirección de su máquina host en la red, utilicé System Preferences/Sharingen Mac para encontrarla. Toque eso en su dispositivo Android y debería cargar su index.htmly debería ser bueno.

Si no es así, el problema es otra cosa y es posible que desee considerar algunas de las otras soluciones sugeridas. ¡Buena suerte!

* EDITAR *

Otra solución rápida para probar si está usando Chrome es el servidor web para la extensión de Chrome. Encontré una forma rápida y súper fácil de obtener acceso a localhost en mi teléfono. Solo asegúrese de verificar Accessible to local networkdebajo de Optionsy debería funcionar en su celular sin ningún problema.

ingrese la descripción de la imagen aquí

mikeym
fuente
¿Funcionará para otros lenguajes del lado del servidor que no sean python?
MASh
3

ngrok le permite poner su localhost en un servidor temporal y es muy sencillo de configurar. He proporcionado algunos pasos aquí que se pueden encontrar en el enlace:

  1. Descargue el zip ngrok desde el enlace de arriba
  2. Abre la cremallera
  3. Ejecute su servidor localmente y tome nota del número de puerto
  4. En la terminal, vaya a la carpeta donde vive ngrok y escriba ngrok http [port number]

Verá un pequeño tablero en su terminal con una dirección que apunta a su host local. Apunte su aplicación a esa dirección y compile en su dispositivo.

Maxwell
fuente
Esto solo es útil para acceder al servidor externamente. Simplemente puede usar la dirección IP local del servidor.
OneCricketeer
3

En primer lugar, conecte su teléfono y computadora a wifi común.

Luego, abra el símbolo del sistema con ejecutar como administrador

Dar comando ipconfig

Que muestra la LAN inalámbrica

Use ip: puerto de su servidor para acceder en el teléfono

usuario8246589
fuente
2

En primer lugar, haga que su máquina (donde se está ejecutando el servidor) sea una dirección IP estática. Ingrese esta dirección IP estática en el código de Android. A continuación, vaya a la interfaz de su enrutador wifi y verifique el panel izquierdo. Verá opciones como el reenvío / reenvío de puertos. Haga clic en él y reenvíe el puerto 80. Ahora edite su htttpd.confarchivo y edítelo para

Permitir desde todos

. Reinicia tu servidor. Todo debería funcionar bien ahora.

Además, puede reservar la dirección IP de su máquina para que siempre se le asigne. En el panel izquierdo de la interfaz de su enrutador, busque DHCP -> Address Reservation, haga clic en él. Ingrese la dirección MAC de su máquina y la dirección IP que ingresó en el código. Haga clic en guardar. Esto reservará la dirección IP dada para su máquina.

Abhishek Singh
fuente
2

Una solución para conectar mi dispositivo móvil a mi servidor wamp basado en mi computadora portátil:

Primero, wifi no es un enrutador. Entonces, para conectar mi dispositivo móvil a mi servidor wamp basado en localhost en mi computadora portátil, necesito un enrutador. He descargado e instalado un enrutador virtual gratuito: https://virtualrouter.codeplex.com/

Configurarlo es realmente simple:

  1. haga clic derecho en el icono del enrutador virtual en la bandeja del sistema
  2. haga clic en Configurar enrutador virtual
  3. llenar una contraseña
  4. Si su conexión a Internet está en Ethernet, elija Conexión compartida: Ethernet
  5. Luego configure wifi en su computadora portátil y dispositivo
  6. En su dispositivo, conéctese al nombre de red del enrutador virtual

Luego, puede conectarse a su computadora portátil a través de su dispositivo iniciando un navegador y llenando la dirección IPV4 de su computadora portátil (para encontrarla en Windows, escriba cmd: ipconfig y busque la dirección ipv4)

Debería ver la página de inicio de su servidor wamp.

Fred
fuente
2

Aunque se ha aceptado una respuesta, pero esto funcionó para mí:

  1. Asegúrese de que tanto su computadora como su dispositivo Android estén en la misma red.
  2. Obtenga la dirección IP de su computadora. (en el caso del tipo de Mac ifconfigdentro de la terminal y búsquelo en0/en1 -> inetdebería ser algo así como 19*.16*.1.4) (en Windows, use `ipconfig)
  3. Abra la configuración de su dispositivo móvil y vaya a red-> mantenga presionada su red wifi-> modifique la red -> desplácese hacia abajo para ver las opciones avanzadas -> elija el proxy proxy y en el nombre del host proxy escriba su dirección, es decir, 19*.16*.1.4ingrese su puerto en el puerto interno. y guárdalo.

  4. buscar what is my ipen google chrome y obtener su ip, digamos que es1**.1**.15*.2**

  5. intente acceder 1**.1**.15*.2**:port/desde su dispositivo móvil.

Es tan simple como esto.

Los mejores deseos
fuente
No necesita un proxy a través de WiFi y tampoco necesita la dirección IP externa dentro de una red local
OneCricketeer
2

Esto es lo que funcionó para mí, agregué otra línea después de la ip 127.0.0.1 para especificar la dirección IP de la red local exacta (no la dirección IP pública) del dispositivo que quería usar. En mi caso mi Samsung Galaxy S3

Según lo sugerido por Bangptit, edite el archivo httpd.conf (x siendo los números de versión): C: \ wamp \ bin \ apache \ Apache2.xx \ conf \ httpd.conf

Busque la etiqueta en línea sin conexión y agregue la dirección IP de su teléfono (encontré la dirección IP de mi teléfono en las páginas de configuración de mis enrutadores):

etiqueta en línea sin conexión: no eliminar

 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1

mis teléfonos ip en la línea de abajo

 Allow from 192.168.1.65 
 Allow from ::1
 Allow from localhost

Se podría extender esto para incluir un subdominio completo también, por ejemplo, 192.168.1.0/24, etc.

HostMyBus
fuente
2

La forma MÁS FÁCIL (esto funcionó a la perfección para mí) es alojar localmente su sitio en 0.0.0.0:<port_no>y acceder a él utilizando dispositivos móviles, usar <local_ipv4_address>:<port_no>/<path>en el navegador.

  • Para conocer su dirección ipv4 local, simplemente escriba ipconfigcmd
  • CUALQUIER dispositivo conectado a la MISMA red puede acceder a esta url.
realpac
fuente
2

Ngrok es la mejor solución. Si está desarrollando PHP, le recomiendo instalar Laravel Valet , tiene versiones de MacOS y Linux, entonces puede usar el valet sharecomando. Si está desarrollando una tecnología frontend y necesita compartir un puerto como 3000, use ngrok directamentengrok http 3000

Yamen Ashraf
fuente
1

Agregar una solución para futuros desarrolladores.

Copie la dirección de su dirección IP. haga clic derecho en su red -> red y uso compartido-> haga clic en la conexión que tiene actualmente-> detalles-> luego la dirección junto a la dirección ipv4 es su dirección IP, anote esto en alguna parte

Vaya al panel de control -> sistema y seguridad -> firewall de Windows -> configuración avanzada -> reglas de entrada -> nuevas reglas (siga los pasos para agregar un puerto, por ejemplo, 80, es realmente fácil de seguir)

ponga su dirección IP que anotó en el navegador de su teléfono y el número de puerto para el que creó la regla al lado. por ejemplo, 192.168.0.2:80 y wala.

Posible solución si no se conecta. haga clic derecho en red-> abrir red y compartir-> mire debajo de ver sus conexiones activas, debajo del nombre de su conexión en el tipo de conexión y haga clic en ella si es pública, y asegúrese de cambiarla a una red doméstica.

Shuyaib Abdullah
fuente
1

Otra cosa a verificar es que algunos enrutadores tienen problemas para unir las solicitudes cuando están habilitados 2.4G y 5G y los dispositivos están en diferentes frecuencias. Intenta deshabilitar una de las frecuencias para que ambos dispositivos estén conectados a la misma interfaz.

usuario1453449
fuente
0

use connectifyy / xamppo equivalente, y escriba la dirección IP en la barra de URL móvil para acceder

Phaneendra Charyulu Kanduri
fuente
0

Personalmente no insisto en usar localhost cuando uso el dispositivo, no hay una solución fácil.

Simplemente comience la actividad donde se conecta a localhost donde puede usar el emulador. Cualquier información que tenga que obtener del dispositivo se puede generar con facilidad y se puede enviar a la actividad como parámetro.

Ahmet Arslan
fuente