Je peux accéder à mon serveur Web portable à l'aide de l'émulateur Android, j'utilise bien les 10.0.2.2:portno
travaux.
Mais lorsque je connecte mon vrai téléphone Android, le navigateur du téléphone ne peut pas se connecter au même serveur Web sur mon ordinateur portable. Le téléphone est connecté à l'ordinateur portable à l'aide d'un câble USB. Si j'exécute la commande adb devices, je peux voir mon téléphone.
Qu'est-ce que je rate?
Réponses:
L'USB ne fournit pas de réseau à l'appareil mobile.
Si votre bureau et votre téléphone sont connectés au même WiFi (ou à tout autre réseau local), utilisez (
localhost
et non127.0.0.1
) l'adresse IP de votre bureau attribuée par le routeur .Pour connaître l'adresse IP de votre bureau:
ipconfig
(Windows) ouifconfig
(Unix)ifconfig | grep "inet " | grep -v 127.0.0.1
ne donnera que les choses importanteslocalhost
- dessus et127.0.0.1
)Si votre téléphone est connecté au réseau mobile , les choses vont être plus difficiles.
Soit hardcore:
<your desktop IP>:<server port number>
Sinon, utilisez quelque chose comme xip.io ou ngrok .
REMARQUE : La
ifconfig
commande est obsolète et donc manquante par défaut sur Debian Linux, à partir de l'étendue Debian. La nouvelle alternative recommandée pour examiner une configuration réseau sur Debian Linux est la commande ip. Par exemple, pour utiliser la commande ip pour afficher une configuration réseau, exécutez ce qui suit:La commande ip ci-dessus peut être abrégée en:
Si vous préférez toujours l'utiliser
ifconfig
dans le cadre de votre routine d'administration sys quotidienne, vous pouvez facilement l'installer dans le cadre dunet-tools
package.La référence est ici
la source
C'est en fait assez simple.
localhost
(j'utilise le serveur WAMP pour Windows)Une fois que vous avez fait cela, vous verrez quelque chose comme ceci:
192.168.43.76
)Remarque: veuillez définir votre réseau comme " Réseau domestique ". La définition du réseau comme réseau domestique signifie que vous autorisez votre PC à partager des éléments avec d'autres appareils sur le même réseau.
Si vous utilisez Windows 10, cela peut être fait avec les éléments suivants:
Si vous rencontrez un problème, cela est probablement lié au pare-feu Windows.
la source
Utilisateurs de Mac OS X
J'ai atteint cet objectif en activant la gestion à distance :
System preferences/sharing
Vous verrez un message similaire à celui-ci:
some.url.com
Sur votre appareil Android, vous devriez maintenant pouvoir accéder à
some.url.com
, qui délèguelocalhost
sur votre Mac. Vous pouvez également utiliserifconfig
pour obtenir l'adresse IP de votre Mac.Solution portable avec
ngrok
(tout OS avec Node.js)Si cela ne vous dérange pas d'exposer votre projet avec un domaine temporaire, vous pouvez l'utiliser
ngrok
. Disons que j'ai une application qui fonctionne,localhost:9460
je peux simplement écrireCela me donnera:
Je peux maintenant atteindre
https://f7c23d14.ngrok.io
comme un moyen de visualiser à distancelocalhost
. C'est formidable de partager le travail de conception ou de progresser avec les clients.Solution alternative avec
nginx
proxy passSi vous exécutez quelque chose comme ça,
nginx proxy_pass
cela nécessitera un peu plus de réglages - c'est une approche hacky, mais cela fonctionne pour moi et je suis ouvert aux suggestions pour l'améliorer:81
par opposition à80
http://youripaddress:81
Recharger et visiter
http://youripaddress:81
la source
192.168.0.101
mais le nom d'hôte n'a pas fonctionné.Avec la solution simple (il suffit d'accéder à
laptop_ip_addr:port
partir d'un appareil mobile, lorsque le mobile et l'ordinateur portable sont sur le même WiFi), j'obtiens une erreur ERR_CONNECTION_REFUSED . Autrement dit, mon MacBook semble refuser la tentative de connexion depuis mon mobile.Prise inversée ADB (Android uniquement)
Cette solution fonctionne pour moi (testée avec un MacBook):
adb reverse tcp:4000 tcp:4000
4000
http://localhost:4000/
, et il se connectera réellement à l'ordinateur portable, pas à l'appareil mobileVoir les instructions ici .
L'inconvénient est que cela ne fonctionne qu'avec un seul appareil mobile à la fois . Si vous souhaitez accéder à un autre appareil mobile, vous devez d'abord déconnecter le premier (désactiver le débogage USB ), connecter le nouveau (activer le débogage USB ) et réexécuter
adb reverse tcp:4000 tcp:4000
.ngrok (fonctionne avec tous les appareils)
Une autre solution qui devrait toujours fonctionner est ngrok (comme mentionné dans d'autres réponses). Il fonctionne sur Internet et non sur le réseau local.
C'est extrêmement simple à utiliser:
Cela produit, entre autres informations, une ligne comme
Maintenant, vous pouvez naviguer
http://4cc5ac02.ngrok.io
sur n'importe quel appareil connecté à Internet, et cette URL redirige verslocalhost:4000
votre ordinateur portable.Notez que tant que la commande ngrok est en cours d'exécution (jusqu'à ce que vous appuyiez sur Ctrl-C ), votre projet est rendu public . Tous ceux qui ont l'URL peuvent le voir.
la source
J'ai trouvé une solution rapide à ce problème. Essayez ce lien . Cela devrait vous aider à résoudre le problème.
J'ai seulement changé une chose, où le tutoriel indique que vous changez '127.0.0.1' en 'Tous', changez-le à l'adresse IP sur laquelle votre serveur fonctionne à la place.
Après cela, vous devriez pouvoir vous connecter à votre hôte local.
Vous trouverez ci-dessous une copie (relue) des informations de la page liée:
Étape 1
Installez le serveur Wamp (ou tout autre que vous préférez).
C'est l'un des meilleurs serveurs que je connaisse pour configurer un serveur local. Si vous avez installé Apache ou tout autre serveur, ignorez cette étape.
Téléchargez et installez Wamp Server à partir d'ici.
Étape 2
Ajoutez une nouvelle règle pour le port 80 dans le pare-feu Windows.
Ouvrez le Panneau de configuration et sélectionnez Pare-feu Windows.
Sélectionnez Paramètres avancés dans le panneau de gauche de la page des paramètres du Pare-feu Windows.
Sélectionnez Règles entrantes dans le panneau de gauche, puis sélectionnez Nouvelle règle.
Sélectionnez Port et cliquez sur Suivant.
Sélectionnez le bouton radio «Ports locaux spécifiques» et entrez 80 comme valeur de port.
Gardez Autoriser la connexion inchangée et passez à l'étape suivante.
Gardez les options de profil inchangées et cliquez sur Suivant.
Donnez un joli nom à votre nouvelle règle et cliquez sur Terminer.
Cela permettra l'accès au port 80 sur l'IP du réseau local.
Étape 3
Modifiez le fichier httpd.conf du serveur Wamp pour corriger l'erreur 403.
Nous devons modifier ce fichier. Sinon, nous obtiendrons l'erreur interdite 403 lorsque nous accèderons à l'hôte local via une IP de réseau local.
Cliquez sur l'icône de la barre de serveur Wamp.
Ouvrez le sous-menu du serveur Apache.
Sélectionnez httpd.conf.
Recherchez cette section de configuration dans le fichier httpd.conf:
Recherchez et remplacez «127.0.0.1» par «Tout», enregistrez le fichier et redémarrez votre serveur Wamp.
Étape 4
Trouvez votre IP de réseau local.
Ouvrez l'invite de commande.
Tapez et entrez la
ipconfig
commande.Dans mon cas, mon adresse de réseau local est 10.0.0.2.
Il s'agit de l'IP dont vous avez besoin pour accéder à votre hôte local sur votre téléphone Android via wifi. Pour tester si cela fonctionne, tapez cette adresse IP dans votre navigateur de bureau sur lequel votre serveur localhost est installé. Le navigateur devrait afficher votre page localhost avec succès. Cela garantira que cette IP de réseau local est désormais accessible avec succès sur votre téléphone Android.
J'espère que ce tutoriel vous aidera à accéder à votre hôte local via wifi.
la source
# onlineoffline tag - don't remove Order Allow,Deny Allow from all
Sur un PC Windows, vous n'aurez peut-être rien d'autre à faire que de trouver votre adresse IPv4 à l'aide de la commande "ipconfig".
Autres détails d'env: Windows 7, Google Nexus 4 (4.2.2), Tomcat Server, Grails Application.
Vous devez également vous assurer que vous avez l'autorisation d'accéder à Internet dans le fichier AndroidManifest:
la source
java.io.FileNotFoundException: http://192.168.8.65:8000/app/web/users/
Il existe cependant une bien meilleure solution. Vous pouvez accéder à votre machine hôte avec l'adresse IP "10.0.2.2". Cela a été conçu de cette manière par l'équipe Android. Ainsi, votre serveur Web peut parfaitement fonctionner sur localhost et à partir de votre application Android, vous pouvez y accéder via "http://10.0.2.2:8080".
la source
Comme il s'agit d'une vieille question, il existe une nouvelle façon de procéder qui est vraiment très simple. Téléchargez l' extension ADB Chrome et suivez ces instructions:
https://developers.google.com/chrome-developer-tools/docs/remote-debugging
la source
"Le transfert de port sur Chrome pour Android facilite le test de votre site de développement sur mobile. Il fonctionne en créant un port TCP d'écoute sur votre appareil mobile qui correspond à un port TCP particulier sur votre machine de développement. Le trafic entre ces ports passe par USB, la connexion ne dépend donc pas de la configuration de votre réseau. "
Plus de détails ici: https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding
la source
Cette solution est utilisable lorsque votre appareil mobile et votre ordinateur ne sont pas sur le même réseau:
Vous devez utiliser la redirection de port dans ce cas. Dans la fenêtre d'inspection de Google Chrome (chrome: // inspect) Vous pouvez voir les appareils connectés.
Cliquez sur le bouton de transfert de port et définissez un port aléatoire, par exemple 3000, sur le port utilisé par votre ordinateur portable, par exemple 8080.
utilisez maintenant localhost: 3000 à partir du périphérique pour accéder au localhost: 8080 (ou_wwhat_ip: portno) dans l'ordinateur portable. Vous pouvez le vérifier dans le navigateur mobile. Essayez localhost: 3000 dans le navigateur mobile. Assurez-vous de cocher la case "Activer la redirection de port" dans la fenêtre "Paramètres de redirection de port"
la source
Exécutez CMD en tant qu'administrateur
et sur l'écran CMD, tapez ipconfig et l'écran apparaîtra avec du texte
comme cette photo
et vous pouvez accéder à votre hôte local en utilisant cette adresse IP, vous devez être connecté au même réseau que votre PC connecté à
la source
Votre serveur Web peut écouter sur votre interface de bouclage et non sur votre interface réseau. Les principaux signes en sont:
127.0.0.1
etlocalhost
(à partir de l'hôte local ou de l'émulateur Android)192.168.xxx.xxx
ne fonctionnent pas, que ce soit à partir de l'hôte local, du LAN ou du WANJe parle plus de diagnostiquer cela et de corriger cela dans une réponse ici .
la source
Essayez d'accéder à ce fichier:
C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf
Et remplacez 10.0.2.2 par votre adresse IP.
la source
enfin fait dans Ubuntu, j'utilise le serveur nodejs sur localhost: 8080
1) ouvrez le type de terminal ifconfig vous obtiendrez ip quelque chose comme ceci: inet addr: 192.168.43.17
2) il suffit maintenant de mettre l'adresse URL comme ceci: "192.168.43.17:8080" (port 8080 provenant du numéro de port localhost) ex: "192.168.43.17:8080/fetch"
la source
Utilisez-le dans votre ubuntu / Macbook pour obtenir l'adresse IP de votre système. Votre mobile et votre système doivent être dans le même réseau
ip addr | grep inet
Cela vous donnera une adresse IP qui ressemble192.168.168.46
. Utilisez-le dans votre smartphone.J'espère que cela t'aides.
la source
J'ai utilisé ce processus:
Notez que ce processus vous oblige à modifier les paramètres WiFi sur l'appareil Android au début et à la fin de chaque session. J'ai trouvé cela moins douloureux que d'enraciner mon appareil Android.
la source
Le moyen le plus simple de définir localhost par défaut est d'utiliser http: // localhost: port . Cela fonctionne également sur un ordinateur portable et Android.
Si cela ne fonctionne pas, dans Android, définissez l'adresse IP par défaut de votre téléphone sur 127.0.0.1:port :)
Terminal ouvert et tapez: -
la source
A rencontré ce problème en utilisant plusieurs serveurs locaux différents. Enfin, mon application a été opérationnelle sur le téléphone en quelques secondes en utilisant simplement le serveur Python. Cela ne prend que quelques secondes, il vaut donc la peine d'essayer avant de trouver des solutions plus compliquées. Tout d'abord, assurez-vous que Python est installé.
cmd+r
et tapezpython
pour Windows ou$ python --version
dans le terminal mac.Prochain:
Il suffit ensuite de trouver l'adresse de votre machine hôte sur le réseau, que j'ai utilisée
System Preferences/Sharing
sur mac pour la retrouver. Appuyez sur cela dans votre appareil Android et devrait charger votreindex.html
et vous devriez être bon.Sinon, le problème est autre chose et vous voudrez peut-être examiner certaines des autres solutions suggérées. Bonne chance!
* ÉDITER *
Une autre solution rapide à essayer si vous utilisez Chrome est l'extension Web Server for Chrome. Je l'ai trouvé un moyen rapide et super facile d'accéder à localhost sur mon téléphone. Assurez-vous simplement de vérifier
Accessible to local network
sousOptions
et cela devrait fonctionner sur votre cellule sans aucun problème.la source
ngrok vous permet de placer votre localhost sur un serveur temporaire et est très simple à configurer. J'ai fourni quelques étapes ici qui peuvent être trouvées dans le lien:
ngrok http [port number]
Vous verrez un petit tableau de bord dans votre terminal avec une adresse pointant vers votre hôte local. Pointez votre application vers cette adresse et créez-la sur votre appareil.
la source
Tout d'abord, connectez votre téléphone et votre ordinateur au wifi commun.
Ensuite, ouvrez l'invite de commande en utilisant exécuter en tant qu'administrateur
Donner la commande ipconfig
Qui montre lan sans fil ip
Utilisez ip: port de votre serveur pour accéder au téléphone
la source
Tout d'abord, rendez votre machine (où le serveur fonctionne) l'adresse IP statique. Saisissez cette adresse IP statique dans le code Android. Accédez ensuite à l'interface de votre routeur wifi et vérifiez le panneau de gauche. Vous verrez une option telle que la redirection de port / redirection. Cliquez dessus et transférez le port 80. Maintenant, éditez votre
htttpd.conf
fichier et éditez-le pourAutoriser de tous
. Redémarrez votre serveur. Tout devrait bien fonctionner maintenant.
De plus, vous pouvez réserver l'adresse IP de votre machine afin qu'elle vous soit toujours attribuée. Dans le panneau gauche de l'interface de votre routeur, recherchez
DHCP -> Address Reservation
, cliquez dessus. Saisissez l'adresse MAC de votre appareil et l'adresse IP que vous avez entrée dans le code. Cliquez sur enregistrer. Cela réservera l'adresse IP donnée à votre machine.la source
Une solution pour connecter mon appareil mobile à mon serveur Wamp basé sur mon ordinateur portable:
Tout d'abord, le wifi n'est pas un routeur. Donc, pour connecter mon appareil mobile à mon serveur Wamp en fonction de l'hôte local sur mon ordinateur portable, j'ai besoin d'un routeur. J'ai téléchargé et installé un routeur virtuel gratuit: https://virtualrouter.codeplex.com/
La configuration est vraiment simple:
Ensuite, vous pouvez vous connecter à votre ordinateur portable via votre appareil en lançant un navigateur et remplir l'adresse IPV4 de votre ordinateur portable (pour la trouver sur Windows, tapez cmd: ipconfig et trouvez l'adresse ipv4)
Vous devriez voir la page d'accueil de votre serveur Wamp.
la source
Bien qu'une réponse ait été acceptée, cela a fonctionné pour moi:
ifconfig
intérieur du terminal et recherchez-le,en0/en1 -> inet
cela devrait ressembler à quelque chose19*.16*.1.4
.) (sur windows, utilisez `ipconfig)Ouvrez vos paramètres mobiles et allez sur réseau-> appuyez longuement sur votre réseau wifi-> modifier le réseau -> faites défiler vers le bas pour les options avancées -> choisissez le manuel du proxy et dans le nom d'hôte du proxy tapez votre adresse, c'est-
19*.16*.1.4
à- dire à l' intérieur du port entrez votre port. et enregistrez-le.recherchez
what is my ip
dans google chrome, et obtenez votre ip, disons que c'est1**.1**.15*.2**
1**.1**.15*.2**:port/
partir de votre appareil mobile.C'est aussi simple que ça.
la source
C'est ce qui a fonctionné pour moi, j'ai ajouté une autre ligne après l'IP 127.0.0.1 pour spécifier l'adresse IP du réseau local exacte (pas l'adresse IP publique) du périphérique que je voulais utiliser. Dans mon cas, mon Samsung Galaxy S3
Comme suggéré par Bangptit, éditez le fichier httpd.conf (x étant les numéros de version): C: \ wamp \ bin \ apache \ Apache2.xx \ conf \ httpd.conf
Recherchez la balise onlineoffline et ajoutez l'ip de votre téléphone (j'ai trouvé l'adresse ip de mon téléphone dans les pages de configuration de mes routeurs):
balise onlineoffline - ne pas supprimer
mes téléphones ip dans la ligne ci-dessous
On pourrait étendre cela pour inclure également un sous-domaine entier, par exemple 192.168.1.0/24, etc.
la source
Le moyen le plus simple (cela a parfaitement fonctionné pour moi) est d'héberger localement votre site
0.0.0.0:<port_no>
et d'y accéder à l'aide d'appareils mobiles, à utiliser<local_ipv4_address>:<port_no>/<path>
dans un navigateur.ipconfig
cmdla source
Ngrok est la meilleure solution. Si vous développez PHP, je recommande d'installer Laravel Valet , il a des versions MacOS et Linux, alors vous pouvez utiliser la
valet share
commande. Si vous développez une technologie frontale et que vous avez besoin de partager un port comme 3000, utilisez directement ngrokngrok http 3000
la source
Ajout d'une solution pour les futurs développeurs.
Copiez l'adresse de votre adresse IP. clic droit sur votre réseau -> réseau et partage -> cliquez sur la connexion que vous avez actuellement -> détails -> puis l'adresse à côté de l'adresse ipv4 est votre adresse ip, notez-la quelque part
Allez dans le panneau de configuration -> système et sécurité -> pare-feu Windows -> paramètres avancés -> règles entrantes -> nouvelles règles (suivez les étapes pour ajouter un port, par exemple 80, c'est vraiment simple à suivre)
mettez votre adresse IP que vous avez notée sur le navigateur de votre téléphone et le numéro de port pour lequel vous avez créé la règle à côté. par exemple 192.168.0.2:80 et wala.
Solution possible s'il ne se connecte pas. cliquez avec le bouton droit sur réseau-> ouvrir le réseau et le partage-> regardez sous afficher vos connexions actives, sous le nom de votre connexion sur le type de connexion et cliquez dessus si elle est publique, et assurez-vous de la changer en réseau domestique.
la source
Une autre chose à vérifier est que certains routeurs ont des problèmes de pontage des demandes lorsque les deux 2.4G et 5G sont activés et que les périphériques sont sur des fréquences différentes. Essayer de désactiver l'une des fréquences pour que les deux appareils soient connectés à la même interface.
la source
utiliser
connectify
etxampp
ou équivalent, et tapez l'adresse IP sur la barre d'URL mobile pour accéderla source
Personnellement, je n'insiste pas pour utiliser localhost lors de l'utilisation de l'appareil, il n'y a pas de solution facile.
Commencez simplement l'activité où vous vous connectez à localhost où vous pouvez utiliser l'émulateur. Les informations que vous devez obtenir de l'appareil peuvent être générées facilement et envoyées à l'activité en tant que paramètre.
la source