Come posso accedere al mio localhost dal mio dispositivo Android?


543

Sono in grado di accedere al mio server Web portatile usando l'emulatore Android, sto usando 10.0.2.2:portno funziona bene.

Ma quando collego il mio vero telefono Android, il browser del telefono non può connettersi allo stesso server Web sul mio laptop. Il telefono è collegato al laptop tramite un cavo USB. Se eseguo il comando adb devices, posso vedere il mio telefono.

Cosa mi sto perdendo?




3
Disattiva il firewall durante il test della tua pagina web o aggiungi il tuo IP alle reti fidate nelle impostazioni del firewall.
zeeali,


souper ez with ngrok
JonPizza,

Risposte:


403

USB non fornisce rete a dispositivo mobile.

Se sia il desktop che il telefono sono collegati allo stesso WiFi (o qualsiasi altra rete locale), utilizzare l'indirizzo IP del desktop assegnato dal router (non localhoste non 127.0.0.1).

Per scoprire l'indirizzo IP del desktop:

  • digitare nella riga di comando ipconfig (Windows) o ifconfig(Unix)
    • su Linux il one-liner ifconfig | grep "inet " | grep -v 127.0.0.1produrrà solo le cose importanti
    • c'è un sacco di suggerimenti su come avere un output simile su Windows
  • ci saranno un sacco di IP
  • provali tutti (tranne i suddetti localhoste 127.0.0.1)

Se il telefono è collegato alla rete mobile , le cose saranno più difficili.

O vai hardcore:

  • prima scopri l'indirizzo IP esterno del tuo router ( https://www.google.de/search?q=myip )
  • quindi, sul router, inoltrare una porta a <your desktop IP>:<server port number>
  • infine usa l'indirizzo IP esterno e la porta inoltrata

Altrimenti usa qualcosa come xip.io o ngrok .

NOTA : il ifconfigcomando è stato deprecato e quindi manca di default su Debian Linux, a partire da Debian stretch. La nuova e consigliata alternativa per esaminare una configurazione di rete su Debian Linux è il comando ip. Ad esempio, per utilizzare il comando ip per visualizzare una configurazione di rete, eseguire quanto segue:

ip address

Il comando ip sopra può essere abbreviato in:

ip a

Se preferisci comunque utilizzarlo ifconfigcome parte della tua routine di amministrazione quotidiana di sys, puoi installarlo facilmente come parte del net-toolspacchetto.

apt-get install net-tools

Il riferimento è qui


Grazie, questo è stato di grande aiuto per me. Il problema per me era che non sapevo che il server Apache locale potesse essere risolto tramite l'ip 10.0.2.2. ... Provo molti altri indirizzi IP, come quello di ipconfig ecc. Ma ancora grazie mille!
Vidar Vestnes,

4
Non capisco questa soluzione al problema. Potete aiutarmi su come il mio telefono può accedere al mio server? Spero che tu mi abbia risolto questa soluzione. Grazie.
iremce,

1
Leggi il mio commento qui sotto .. È inoltre necessario disporre dell'autorizzazione di accesso a Internet. <usi-permesso android: nome = "android.permission.INTERNET" />
Sanjay Kumar

3
@simo vai alla home page del tuo router, 10.0.0.1 per XFinity, di solito 192.168.1.1 e accedi e cerca Dispositivi connessi o IP locali, trova il tuo computer e bam. Il mio era 10.0.0. #, Quindi basta aggiungere [10.0.0. # :( porta) / Server / Servlet] o altro
jp093121

2
Questa non dovrebbe essere la risposta accettata per questa domanda. Il port forwarding in Chrome devtools e adb reverse funziona perfettamente con un cavo USB.
Roger Madsen,

229

In realtà è abbastanza semplice.

  • Attiva l'hotspot WiFi del tuo telefono / router Android e collega il tuo laptop al telefono
  • Avvia il tuo server su localhost(sto usando il server WAMP per Windows)
  • Ora apri il prompt dei comandi e inserisci
ipconfig

Una volta fatto, vedrai qualcosa di simile al seguente:

Adattatore LAN wireless Connessione rete wireless:
  Suffisso DNS specifico della connessione. :
  Indirizzo IPv6 link-local. . . . . : fe80 :: 80bc: e378: 19ab: e448% 11
  Indirizzo IPv4. . . . . . . . . . . : 192.168.43.76
  Maschera di sottorete . . . . . . . . . . . : 255.255.255.0
  Gateway predefinito . . . . . . . . . : 192.168.43.1
  • Copia l'indirizzo IPv4 (in questo caso, lo è 192.168.43.76)
  • Nel tuo browser mobile, incolla semplicemente l'indirizzo IPv4

Nota: impostare la rete come " Rete domestica ". L'impostazione della rete come rete domestica significa che stai permettendo al tuo PC di condividere elementi con altri dispositivi sulla stessa rete.

Se stai usando Windows 10, questo può essere fatto con il seguente:

  • Apri Impostazioni
  • Vai a Rete e Internet
  • Seleziona WiFi nel menu a sinistra
  • Tocca il nome del WiFi connesso
  • Impostare il profilo di rete della rete su privato

Se stai riscontrando un problema, è molto probabile che abbia a che fare con Windows Firewall.

  • Apri il pannello di controllo
  • Vai a Windows Defender Firewall
  • Tocca Consenti a un'app o una funzionalità tramite Windows Defender Firewall
  • Controlla se l'app è abilitata per le reti private (dovrebbe essere presente un segno di spunta)
  • Se è non è attivato, toccare Cambia impostazioni e spuntare la casella di controllo sotto privata per l'applicazione

30
hm lo ha fatto ma il browser sembra impiegare un'eternità a caricarsi, quindi mi dà un oops? sto facendo qualcosa di sbagliato? E cosa intendi per rete domestica
Lion789,

12
Ricorda di disattivare anche il firewall nel computer.
Minh Nguyen,

2
Sì, lo spegnimento del firewall ha aiutato. Grazie.
Beemo,

2
* Rete domestica è (: rete domestica significa che il tuo computer mi ha permesso di condividere contenuti con i dispositivi della stessa rete.
Leap Hawk,

6
"Tocca Consenti a un'app o una funzionalità tramite Windows Defender Firewall Verifica se l'app è abilitata per le reti private (dovrebbe essere presente un segno di spunta)" Quale app intendi?
Liz Lamperouge,

71

Utenti di Mac OS X.

Ho raggiunto questo obiettivo abilitando la gestione remota :

  • Assicurarsi che il telefono e il laptop siano collegati alla stessa rete WiFi
  • Su Mac, vai a System preferences/sharing
  • Abilita la gestione remota

Vedrai un messaggio simile al seguente:

  • Altri utenti possono gestire il tuo computer utilizzando l'indirizzo some.url.com

Sul tuo dispositivo Android, ora dovresti essere in grado di andare a some.url.com, che ti delega localhostsul tuo Mac. Puoi anche usare ifconfigper ottenere l'indirizzo IP del tuo Mac.


Soluzione portatile con ngrok(qualsiasi sistema operativo con Node.js)

Se non ti dispiace esporre il tuo progetto con un dominio temporaneo, puoi usarlo ngrok. Diciamo che ho un'app su localhost:9460cui posso semplicemente scrivere

npm install ngrok -g

ngrok http 9460

Questo mi darà:

Stato della sessione online
Aggiornamento disponibile (versione 2.2.8, Ctrl-U per aggiornare)
Versione 2.2.3
Regione Stati Uniti (us)
Interfaccia Web http://127.0.0.1:4040
Inoltro http://f7c23d14.ngrok.io -> localhost: 9460
Inoltro https://f7c23d14.ngrok.io -> localhost: 9460

Connessioni ttl opn rt1 rt5 p50 p90
                              0 0 0,00 0,00 0,00 0,00

Ora posso raggiungere https://f7c23d14.ngrok.iocome un modo per visualizzare in remoto localhost. È fantastico condividere i lavori di progettazione o i progressi con i clienti.


Soluzione alternativa con nginxproxy pass

Se stai eseguendo qualcosa di simile nginx proxy_pass, richiederà un po 'più di modifiche - questo è un approccio caotico, ma funziona per me e sono aperto a suggerimenti su come migliorarlo:

  • Abilita gestione remota (come menzionato sopra)
  • Impostare temporaneamente il server per l'ascolto sulla porta 81anziché80
  • Digita il seguente comando:
sudo nginx -s reload
  • Visitare 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$;
  # ...
}

Ricarica e visita http://youripaddress:81


2
Se stai usando questa configurazione di "gestione remota" un'altra cosa utile da sapere è se hai molti server con alias in esecuzione in MAMP, il tuo dispositivo mobile (collegato via USB) ti darà accesso solo al primo <VirtualHost> che è definito in httpd-vhosts.conf quindi sposta il tuo progetto corrente in cima all'elenco
DrewT

Ho abilitato la gestione remota sul mio Mac, come hai detto, e mi è stata data un'altra serie di caselle di controllo per vari modi in cui il mio computer poteva essere gestito in remoto. Li ho lasciati tutti deselezionati tranne Observe, e ha funzionato bene per me. Il mio server web era in esecuzione sul mio mac sulla porta localhost 5555 e ho visto "altri utenti possono gestire il tuo computer utilizzando l'indirizzo 10.0.0.12", quindi nel browser del mio telefono ho digitato 10.0.0.12:5555 e ho visto la mia pagina web.
Marcus,

Funzionava quando veniva usato l'IP 192.168.0.101ma il nome host non funzionava.
Krishnadas PC

6
Su un Mac, basta ALT + fare clic su Wi-Fi nella barra dei menu per ottenere il tuo indirizzo IP.
matharden,

Ho disabilitato il mio firewall ma mostra ancora la connessione rifiutata, hai idea di come farlo funzionare?
Unnikrishnan,

67

Con la semplice soluzione (solo l'accesso laptop_ip_addr:portdal dispositivo mobile, quando mobile e laptop si trovano sullo stesso WiFi), ottengo un errore ERR_CONNECTION_REFUSED . Cioè, il mio MacBook sembra rifiutare il tentativo di connessione dal mio cellulare.


Presa inversa ADB (solo Android)

Questa soluzione funziona per me (testata con un MacBook):

  1. Collega il dispositivo mobile Android con cavo USB al laptop
  2. Abilita debug USB su dispositivo mobile
  3. Sul portatile, corri adb reverse tcp:4000 tcp:4000
    • Usa il tuo numero di porta personalizzato invece di 4000
  4. Ora, sul dispositivo mobile, puoi navigare http://localhost:4000/e si connetterà effettivamente al laptop, non al dispositivo mobile

Vedi le istruzioni qui .

L'aspetto negativo è che funziona solo con un singolo dispositivo mobile alla volta . Se si desidera accedere con un altro dispositivo mobile, è innanzitutto necessario disconnettere il primo (disabilitare il debug USB ), collegare quello nuovo (abilitare il debug USB ) ed eseguire adb reverse tcp:4000 tcp:4000nuovamente.


ngrok (funziona con tutti i dispositivi)

Un'altra soluzione che dovrebbe sempre funzionare è ngrok (come menzionato in altre risposte). Funziona su Internet e non sulla rete locale.

È estremamente facile da usare:

brew cask install ngrok
ngrok http 4000

Questo genera, tra le altre informazioni, una linea come

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

Ora puoi navigare http://4cc5ac02.ngrok.iosu qualsiasi dispositivo connesso a Internet e questo URL reindirizza al localhost:4000tuo laptop.

Si noti che finché il comando ngrok è in esecuzione (fino a quando non si preme Ctrl-C ), il progetto viene pubblicato pubblicamente . Chiunque abbia l'URL può vederlo.


2
mi hai salvato la vita amico
Essere il

Grazie. Mi hai aiutato molto. Ho usato adb reverse semplicemente sostituendo la porta 4000 a 3000 e ha funzionato come avevo bisogno.
Marcus Crisostomo,

accidenti che alla fine ha funzionato, grazie!
Alex

38

Ho trovato una soluzione rapida a questo problema. Prova questo link . Dovrebbe aiutarti a risolvere il problema.

Ho cambiato solo una cosa, in cui il tutorial afferma che si cambia '127.0.0.1' in 'Tutti', cambiandolo invece all'indirizzo IP su cui è in esecuzione il server.

Successivamente, dovresti essere in grado di connetterti al tuo host locale.


Di seguito è una copia (correzione) delle informazioni dalla pagina collegata:

Passo 1

Installa il server Wamp (o qualsiasi altro tu preferisca).

Questo è uno dei migliori server che conosco per configurare un server locale. Se hai installato Apache o qualsiasi altro server, ignora questo passaggio.

Scarica e installa Wamp Server da qui.

Passo 2

Aggiungi una nuova regola per la porta 80 in Windows Firewall.

  1. Apri il Pannello di controllo e seleziona Windows Firewall.

  2. Seleziona Impostazioni avanzate dal pannello di sinistra della pagina delle impostazioni di Windows Firewall.

  3. Seleziona Regole in entrata dal pannello di sinistra, quindi seleziona Nuova regola.

  4. Seleziona Porta e fai clic su Avanti.

  5. Seleziona il pulsante di opzione "Porte locali specifiche" e inserisci 80 come valore della porta.

  6. Mantieni Consenti la connessione invariata e passa al passaggio successivo.

  7. Mantieni invariate le opzioni del profilo e fai clic su Avanti.

  8. Dai un bel nome alla tua nuova regola e fai clic su Fine.

Ciò consentirà l'accesso alla porta 80 sull'IP di rete locale.

Passaggio 3

Modifica il file httpd.conf del server Wamp per correggere l'errore 403.

Dobbiamo modificare questo file. Altrimenti, avremo l'errore 403 proibito quando accediamo al localhost attraverso un IP di rete locale.

  1. Fare clic sull'icona nella barra delle applicazioni del server Wamp.

  2. Apri il sottomenu del server Apache.

  3. Seleziona httpd.conf.

  4. Trova questa sezione di configurazione nel file 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

Trova e sostituisci "127.0.0.1" con "Tutti", salva il file e riavvia il server Wamp.

Passaggio 4

Trova il tuo IP di rete locale.

  1. Apri il prompt dei comandi.

  2. Digita e inserisci il ipconfigcomando.

  3. Nel mio caso, il mio indirizzo di rete locale è 10.0.0.2.

Questo è l'IP di cui hai bisogno per accedere al tuo localhost sul tuo telefono Android tramite wifi. Per verificare se funziona, digitare questo indirizzo IP nel browser desktop in cui è installato il server localhost. Il browser dovrebbe visualizzare correttamente la pagina localhost. Questo assicurerà che questo IP di rete locale sia ora accessibile con successo sul tuo telefono Android.

Spero che questo tutorial ti aiuti ad accedere al tuo localhost tramite wifi.


Grazie! questo ha funzionato così facilmente. solo una cosa; Ho lasciato httpd.conf come# onlineoffline tag - don't remove Order Allow,Deny Allow from all
numediaweb il

1
tutorial è basato su Windows? wut?
circa

1
il collegamento non funziona più, quindi l'intera risposta è inutile ora poiché le informazioni non sono state aggiunte a SO su come farlo.
Rackack

Per il server Wamp v3, ho ricevuto un errore proibito. Dai un'occhiata a questa risposta stackoverflow.com/questions/23382627/… su come modificare le informazioni vhosts (non modificare il file httpd.conf come mostrato sopra)
friek108

Questa è una versione davvero vecchia di Wamp a quanto pare, i file di configurazione sono un po 'più complicati ora. Soprattutto se si utilizza la funzione VHosts. Non riesco a capirlo, troppi strati di sostituzioni.
Jonathan,

37

Su PC Windows Potrebbe non essere necessario fare altro che scoprire il tuo indirizzo IPv4 usando il comando "ipconfig".

  • Passaggio 1: collega il telefono al PC tramite cavo USB.
  • Passaggio 2: utilizzare il comando 'ipconfig' per scoprire il proprio indirizzo IPv4 (IP esterno del router), ad esempio 192.168.1.5 nel mio caso.
  • Passaggio 3: basta accedere a "192.168.1.5:8080" dal browser del telefono. Funziona !

Altri dettagli Env: Windows 7, Google Nexus 4 (4.2.2), Tomcat Server, Grails Application.

Dovresti anche assicurarti di avere l'autorizzazione per accedere a Internet nel file AndroidManifest:

<uses-permission android:name="android.permission.INTERNET"/>

Ho provato ma continua a dire che "Connessione rifiutata". Perché? :( La porta deve essere 8080? Attualmente, il mio servizio Web è in esecuzione su un'altra porta.
Triet Doan,

2
Stavo usando Tomcat alla porta 8080. Puoi aggiungere la tua porta del server al posto dell'8080.
Sanjay Kumar

e che dire di una webapp? non un'app nativa
amdev

Non ho ancora accesso al mio localhost
Anna Leonenko il

L'ho provato ma dicejava.io.FileNotFoundException: http://192.168.8.65:8000/app/web/users/
Moeez,

16

C'è comunque una soluzione molto migliore. Puoi accedere al tuo computer host con l'indirizzo IP "10.0.2.2". Questo è stato progettato in questo modo dal team di Android. Quindi il tuo server web può funzionare perfettamente su localhost e dalla tua app Android puoi accedervi tramite "http://10.0.2.2:8080".


4
è vero, il trucco è specificare l'indirizzo IP locale della tua macchina e accedervi tramite un router wireless collegato tra il tuo dispositivo Android e il tuo sistema aka macchina
Akhil Jain

Ottimo punto, stavo cercando esattamente questo, per comunicare l'emulatore con localhost. Grazie!!
Aquila,

13

Dato che questa è una vecchia domanda, c'è un nuovo modo di farlo che è davvero molto semplice. Scarica l' estensione ADB per Chrome e segui queste istruzioni:

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


3
Non è più necessario scaricare ADB perché è obsoleto, ma vai su developers.google.com/chrome-developer-tools/docs/… e segui le istruzioni. Nota: ho dovuto inoltrare la porta 8443 a localhost: 8443
Dimitris

funziona solo per le chiamate url da Chrome sul dispositivo o dovrebbe funzionare anche dalla mia app?
Orkun Ozen,

3
Questo mi ha portato sulla strada giusta - una risposta più recente su Chrome Dev Tools può essere trovata qui: Android Chrome Reverse Port Forwarding
Richard Le Mesurier

Mi sono bloccato perché non avevo installato Google Chrome sul mio dispositivo. Doh!
Chad Bingham,

9

"Il port forwarding su Chrome per Android semplifica il test del tuo sito di sviluppo su dispositivi mobili. Funziona creando una porta TCP in ascolto sul tuo dispositivo mobile che si collega a una determinata porta TCP sulla tua macchina di sviluppo. Il traffico tra queste porte attraversa USB, quindi la connessione non dipende dalla configurazione della tua rete. "

Maggiori dettagli qui: https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding


9

Questa soluzione è utilizzabile quando il dispositivo mobile e il computer non si trovano nella stessa rete:

In questo caso è necessario utilizzare il port forwarding. Nella finestra di ispezione di Google Chrome (chrome: // inspect) Puoi vedere i dispositivi collegati. inserisci qui la descrizione dell'immagine

Fare clic sul pulsante Port Fowading e impostare una porta casuale dire 3000 sulla porta utilizzata dal portatile per dire 8080.

inserisci qui la descrizione dell'immagine

ora usa localhost: 3000 dal dispositivo per accedere a localhost: 8080 (o_whatever_ip: portno) nel laptop. Puoi controllarlo nel browser del cellulare. Prova localhost: 3000 nel browser del cellulare. Assicurati di selezionare la casella di controllo "Abilita port forwarding" nella finestra "Impostazioni port forwarding"


Ti amo ragazzo! È necessario scrivere un tutorial con questi passaggi!
Rafael Gomes Francisco,

7

Esegui CMD come amministratore

e sullo schermo CMD digitare ipconfig e lo schermo apparirà con il testo

come questa foto inserisci qui la descrizione dell'immagine

e puoi accedere al tuo localhost usando questo ip devi essere connesso alla stessa rete del tuo PC collegato


basta spegnere il firewall
SalindaKrish

6

È possibile che il server Web sia in ascolto sull'interfaccia di loopback e non sull'interfaccia di rete. I principali segni di questo sono:

  • Hit su 127.0.0.1elocalhost (da localhost o emulatore Android) funzionano
  • Gli hit su 192.168.xxx.xxxnon funzionano, sia da localhost, LAN o WAN

Parlo di più sulla diagnosi di questo e sulla risoluzione di questo in una risposta qui .


6

Prova ad andare a questo file: 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

E cambia 10.0.2.2 al tuo indirizzo IP.


scusami modifica per consentire il modulo tutto se è "Nega"
bangptit

Sto usando XAMPP e questo video mi ha dato la risposta per farlo funzionare: youtube.com/watch?v=YrA_yN3gySs
Leon,

5

finalmente fatto in Ubuntu, sto eseguendo il server nodejs su localhost: 8080

1) apri il tipo di terminale ifconfig otterrai ip qualcosa del genere: inet addr: 192.168.43.17

2) ora inserisci semplicemente l'indirizzo URL in questo modo: "192.168.43.17:8080" (porta 8080 proveniente dal numero di porta localhost) es: "192.168.43.17:8080/fetch"


questo funziona solo per me quando è collegato alla stessa rete. Ho bisogno di qualcosa che funzioni senza internet
Geek Guy,

5

Usa questo nel tuo Ubuntu / Macbook per ottenere l'indirizzo IP del tuo sistema. Il tuo cellulare e sistema dovrebbero essere nella stessa rete

ip addr | grep inetQuesto ti darà un indirizzo IP che assomiglia 192.168.168.46. Usa questo nel tuo smartphone.

Spero che sia di aiuto.


4

Ho usato questo processo:

  • Installa Fiddler sul PC
  • Configura PC e dispositivo Android seguendo queste eccellenti istruzioni
  • Basta accedere al browser sul dispositivo Android e digitare http: //ipv4.fiddler per accedere all'host locale

Tieni presente che questo processo richiede di modificare le impostazioni WiFi sul dispositivo Android all'inizio e alla fine di ogni sessione. L'ho trovato meno doloroso quindi il rooting del mio dispositivo Android.


4

Il modo più semplice per localhost predefinito è utilizzare http: // localhost: port . Funziona anche su laptop e Android.

Se non funziona, quindi in Android imposta l'IP predefinito del tuo telefono su 127.0.0.1:port :)

Aprire il terminale e digitare: -

 hostname -i
 #127.0.0.1
 hostname -I
 #198.168.*.*

3

Stava riscontrando questo problema utilizzando diversi server localhost diversi. Finalmente ho installato la mia app sul telefono in pochi secondi semplicemente usando il semplice server Python. Ci vogliono solo pochi secondi, quindi vale la pena provare prima di entrare in soluzioni più complicate. Innanzitutto, assicurati di aver installato Python. cmd+re digitare pythonper Windows o$ python --version nel terminale mac.

Il prossimo:

cd <your project root>

$ python -m SimpleHTTPServer 8000

Quindi trova l'indirizzo della tua macchina host sulla rete, che ho usato System Preferences/Sharingsu Mac per trovarlo. Toccalo sul tuo dispositivo Android e dovresti caricare il tuo index.htmle dovresti essere bravo.

In caso contrario, il problema è qualcos'altro e potresti voler esaminare alcune delle altre soluzioni suggerite. In bocca al lupo!

* MODIFICARE *

Un'altra soluzione rapida da provare se si utilizza Chrome è l'estensione Web Server per Chrome. Ho trovato un modo rapido e super semplice per accedere a localhost sul mio telefono. Assicurati di controllare Accessible to local networksotto Optionse dovrebbe funzionare sul tuo cellulare senza alcun problema.

inserisci qui la descrizione dell'immagine


Funzionerà con altre lingue lato server oltre a Python?
MAS

3

ngrok ti consente di collocare localhost su un server temporaneo ed è molto semplice da configurare. Ho fornito alcuni passaggi qui che possono essere trovati nel link:

  1. Scarica la zip ngrok dal link sopra
  2. Apri la zip
  3. Esegui il server in locale e prendi nota del numero di porta
  4. Nel terminale, vai alla cartella in cui ngrok vive e digita ngrok http [port number]

Vedrai una piccola dashboard nel tuo terminale con un indirizzo che punta al tuo host locale. Punta l'app a quell'indirizzo e costruisci sul tuo dispositivo.


Questo è utile solo per accedere al server esternamente. Puoi semplicemente usare l'indirizzo IP locale del server.
OneCricketeer il

3

Prima di tutto collega il tuo telefono e il computer al wifi comune.

Quindi, apri il prompt dei comandi utilizzando Esegui come amministratore

Dare il comando ipconfig

Che mostra IP lan wireless

Usa ip: porta del tuo server per accedere al telefono


2

Innanzitutto, rendere statico l'indirizzo IP della macchina (dove è in esecuzione il server). Inserisci questo indirizzo IP statico nel codice Android. Quindi vai all'interfaccia del tuo router wifi e controlla il pannello di sinistra. Vedrai opzioni come port forwarding / forwarding. Fare clic su di esso e inoltrare la porta 80. Ora modificare il htttpd.conffile e modificarlo per

Consenti a tutti

. Riavvia il tuo server. Ora tutto dovrebbe funzionare bene.

Inoltre, puoi prenotare l'indirizzo IP del tuo computer in modo che sia sempre assegnato a te. Nel pannello di sinistra dell'interfaccia del router, trova DHCP -> Address Reservation, fai clic su di esso. Immettere l'indirizzo MAC della macchina e l'indirizzo IP immessi nel codice. Fai clic su Salva. Ciò riserverà l'indirizzo IP indicato per la tua macchina.


2

Una soluzione per connettere il mio dispositivo mobile al mio server wamp basato sul mio laptop:

Innanzitutto, il wifi non è un router. Quindi per connettere il mio dispositivo mobile al mio server wamp basato su localhost sul mio laptop, ho bisogno di un router. Ho scaricato e installato un router virtuale gratuito: https://virtualrouter.codeplex.com/

Configurarlo è davvero semplice:

  1. fare clic con il tasto destro sull'icona del router virtuale nella barra delle applicazioni
  2. fai clic su Configura router virtuale
  3. inserisci una password
  4. se la tua connessione Internet è su Ethernet, scegli Connessione condivisa: Ethernet
  5. Quindi attiva il wifi sul tuo laptop e dispositivo
  6. Sul dispositivo connettersi al nome della rete del router virtuale

Quindi puoi connetterti al tuo laptop tramite il tuo dispositivo avviando un browser e riempi l'indirizzo IPV4 del tuo laptop (per trovarlo su Windows, digita cmd: ipconfig e trova l'indirizzo ipv4)

Dovresti vedere la home page del tuo server Wamp.


2

Anche se una risposta è stata accettata ma questo ha funzionato per me:

  1. Assicurati che sia il computer che il dispositivo Android siano sulla stessa rete.
  2. ottieni l'indirizzo IP del tuo computer. (in caso di tipo mac ifconfigall'interno del terminale e cercarlo en0/en1 -> inetdovrebbe essere qualcosa del genere 19*.16*.1.4.) (su Windows, usare `ipconfig)
  3. Apri le tue impostazioni mobili e vai su rete-> premi a lungo la tua rete wifi-> modifica rete -> scorri verso il basso fino a opzioni avanzate -> scegli il proxy proxy e digita il nome host del proxy il tuo indirizzo, cioè 19*.16*.1.4all'interno della porta inserisci la tua porta. e salvalo.

  4. cerca what is my ipin google chrome e ottieni il tuo ip, diciamo che lo è1**.1**.15*.2**

  5. prova ad accedere 1**.1**.15*.2**:port/dal tuo dispositivo mobile.

È così semplice.


Non hai bisogno di un proxy tramite WiFi e non hai nemmeno bisogno dell'indirizzo IP esterno all'interno di una rete locale
OneCricketeer

2

Questo è ciò che ha funzionato per me, ho aggiunto un'altra riga dopo l'IP 127.0.0.1 per specificare l'esatto indirizzo IP della rete locale (non l'indirizzo IP pubblico) del dispositivo che volevo usare. Nel mio caso il mio Samsung Galaxy S3

Come suggerito da Bangptit, modifica il file httpd.conf (essendo x i numeri della versione): C: \ wamp \ bin \ apache \ Apache2.xx \ conf \ httpd.conf

Cerca il tag onlineoffline e aggiungi l'ip del tuo telefono (ho trovato l'indirizzo IP del mio telefono nelle pagine di configurazione del mio router):

tag onlineoffline - non rimuovere

 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1

i miei telefoni ip nella riga qui sotto

 Allow from 192.168.1.65 
 Allow from ::1
 Allow from localhost

Si potrebbe estendere questo per includere anche un intero sottodominio, ad esempio 192.168.1.0/24 ecc


2

Il modo più semplice (per me ha funzionato perfettamente) è quello di ospitare localmente il tuo sito 0.0.0.0:<port_no>e accedervi tramite dispositivi mobili, utilizzare <local_ipv4_address>:<port_no>/<path>nel browser.

  • Per conoscere il tuo indirizzo ipv4 locale, digita ipconfigcmd
  • QUALSIASI dispositivo collegato alla stessa rete può accedere a questo URL.

2

Ngrok è la soluzione migliore. Se stai sviluppando PHP, ti consiglio di installare Laravel Valet , ha versioni per MacOS e Linux, quindi puoi usare il valet sharecomando. Se stai sviluppando una tecnologia di frontend e hai bisogno di condividere una porta come 3000, usa direttamente ngrokngrok http 3000


1

Aggiunta di una soluzione per futuri sviluppatori.

Copia l'indirizzo del tuo indirizzo IP. fai clic destro sulla tua rete -> rete e condivisione-> fai clic sulla connessione che hai attualmente-> dettagli-> quindi l'indirizzo accanto all'indirizzo ipv4 è il tuo indirizzo IP, annotalo da qualche parte

Vai al pannello di controllo -> sistema e sicurezza -> firewall di windows -> impostazioni avanzate -> regole in entrata -> nuove regole (segui i passaggi per aggiungere una porta, ad esempio 80, è davvero semplice da seguire)

inserisci il tuo indirizzo IP annotato nel browser del telefono e il numero di porta per cui hai creato la regola accanto. ad esempio 192.168.0.2:80 e wala.

Possibile soluzione se non si connette. fai clic con il pulsante destro del mouse su rete> apri rete e condivisione-> guarda sotto vedi le tue connessioni attive, sotto il nome della tua connessione il tipo di connessione e fai clic su di essa se è pubblico e assicurati di cambiarlo in una rete domestica.


1

Un'altra cosa da verificare è che alcuni router hanno problemi a colmare le richieste quando sono abilitati sia 2.4G che 5G e i dispositivi sono su frequenze diverse. Provare a disabilitare una delle frequenze in modo che entrambi i dispositivi siano collegati alla stessa interfaccia.



0

Personalmente non insisto per usare localhost quando si usa il dispositivo, non esiste una soluzione facile.

Basta avviare l'attività in cui ci si connette a localhost dove è possibile utilizzare l'emulatore. Qualsiasi informazione tu debba ottenere dal dispositivo può essere generata con facilità e può essere inviata all'attività come parametro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.