Comment accéder à un site Web fonctionnant sur localhost à partir du navigateur iPhone

266

Je travaille sur un site Web mobile et je voudrais le tester à l'aide de mon navigateur iPhone. Ma machine Windows 7 et mon iPhone sont sur le même réseau sans fil. Comment accéder à localhost depuis l'iPhone? En ce moment, j'obtiens une erreur 404.

béliers
la source
1
assurez-vous que vous avez désactivé le pare
ajahongir
Sur un autre appareil / mobile sur le même réseau, visitez: " IP_Address: PORT ". Les détails figurent dans les réponses qui suivent.
Arshin

Réponses:

243

Accéder à localhost depuis l'iPhone fera simplement un bouclage / essayera de se connecter à lui-même (s'il le supporte?).

Ce que vous devez faire est de trouver l'IP de votre ordinateur de bureau (par exemple, si Windows, accédez à Command Promptet tapez ipconfigou allez à Network and Sharing Centreet recherchez connection status.

Une fois que vous avez votre IP, visitez-le simplement depuis votre navigateur, par exemple http://192.168.0.102.

Vous devrez peut-être ouvrir le port 80 (ou le port sur lequel votre site Web s'exécute) dans la sécurité entrante de votre pare-feu si vous en utilisez un.

Remarque: ne pas oublier le port d'application si ce que vous voulez est de déboguer l'application dans le navigateur de votre iPhone comme: http://192.168.0.102:3000. Dans cet exemple, 3000 est le port par défaut utilisé par ReactJS.

Wil
la source
1
"Accéder à localhost depuis l'iPhone fera simplement un bouclage / essaiera de se connecter à lui-même (s'il le prend en charge?)" - Bien sûr, il le prend en charge. Presque la même réponse que la mienne ahahahaha;)
cusspvz
1
Iphone, comme les autres appareils basés sur Unix, Symbian et Win, a besoin d'un bouclage en raison de certaines applications qui se connectent avec d'autres via l'adresse de bouclage TCP / IP. Presque tous les appareils avec réseau ont la capacité de bouclage.
cusspvz
2
Si le test concerne Wordpress, nous devons changer l'URL du site Web http://xxx.xxx.xxx.xxx/wordpressdans Wordpress Dashboard.
Rajul
1
En fait, essayez d'accéder à localhost: port sur un port ouvert de votre ordinateur. Cela fonctionne sur ma configuration.
orip
3
IINM, cela ne fonctionnera pas pour le débogage d'applications Web progressives, qui ont généralement des travailleurs de service, car les travailleurs de service nécessitent https, et cela nécessite des certificats. Avec Android, il transfère les ports afin que vous puissiez toujours utiliser localhost et que vous n'ayez donc pas à vous soucier d'obtenir des certificats.
Max Waterman
174

Si vous utilisez Mac, accédez à Préférences Système> Réseau et utilisez votre adresse IP au lieu de localhost. Vous pouvez également utiliser le numéro de port. Dans mon cas, j'ai un serveur fonctionnant sur le port 1448 et je peux prévisualiser 192.168.1.241:1448 en utilisant l'iPhone.

MacOsNetworkSettings

Fatih Acet
la source
5
Cette réponse est un équilibre parfait entre geek comp sci vs geek de conception visuelle. Bien joué.
Roralee
40
Maintenez la touche Alt / Option enfoncée tout en cliquant sur l'élément de la barre de menu Wi-Fi. Cela donne un tas d'informations supplémentaires sur votre connexion, y compris votre adresse IP locale.
William Robertson
Ne fonctionne pas si votre serveur utilise virtualhost (nom d'hôte multiple)
Trinh Hoang Nhu
2018: Utilitaire réseau> Info (premier onglet)> Adresse IP (sous Informations sur l'interface) - ça marche! thnku
WebKit
2
Pour accéder à un sandbox de développement, j'ai dû changer l'hôte du sandbox au 0.0.0.0lieu de localhost. stackoverflow.com/a/35419631/1054633
Ben
28

vous pouvez essayer ngrok.io . Fonctionne sur le même principe que localtunnel.
Téléchargez l'application pour votre système d'exploitation. et essayez de courir comme:

pour linux:

./ngrok http 8000

8000 est le numéro de port sur lequel votre application s'exécute.

Pour les fenêtres:

 ngrok.exe http 8000
Manish Gupta
la source
2
Cela peut théoriquement répondre à la question, mais il serait préférable d'inclure ici les parties essentielles de la réponse pour les futurs utilisateurs et de fournir le lien de référence. Les réponses dominées par les liens peuvent devenir invalides par la pourriture des liens .
Mogsdad du
Merci, j'ai édité la réponse. Mais il est toujours dominé par les liens. Cependant, on peut toujours google en cas de rupture du lien.
Manish Gupta
28

Essaye ça:

  1. Appuyez sur Windows+R
  2. Ouvert cmd
  3. Exécuter ipconfig (ancien) ifconfig (nouveau)
  4. Vérifiez l'IP de votre carte réseau sans fil
  5. Accédez à l'iPhone et accédez à « http://xxx.xxx.xxx.xxx/ » via votre navigateur.
    (xxx.xxx.xxx.xxx est votre IP)

Remarque: vous devez définir l'autorisation sur vos paramètres de pare-feu, le cas échéant.

cusspvz
la source
Tu m'as sauvé la journée!
Alexandr
21

Si vous utilisez MAMP , entrez votre adresse IP (disons 192.0.0.63) dans votre navigateur iPhone Safari, suivie du numéro de port 8888 (par exemple 192.0.0.63:8888) et vous pourrez voir votre site local dans votre iPhone.

Et si vous utilisez un serveur WAMP , encore une fois dans votre navigateur Safari iPhone, entrez simplement l'adresse IP (disons 192.0.0.63) et c'est tout. Mais n'oubliez pas de supprimer le deny from allfichier httpd.conf de votre serveur WAMP. Si vous recherchez la ligne allow from 127.0.0.1, au-dessus ou en dessous, vous verrez deny from all; supprimez simplement cette ligne et redémarrez votre serveur WAMP et cela devrait fonctionner.

ecko
la source
1
Le numéro de port de MAMP dépend de vos paramètres dans l'onglet «serveur».
Jennie Ji
Je veux juste ajouter une note: si vous avez essayé et que cela n'a pas fonctionné, essayez de changer le réseau en quelque chose d'autre, dans mon cas, je suis passé à mon point d'accès 4G de mon téléphone et cela a fonctionné normalement
Tho Vo
21

Si vous utilisez un Mac -

  1. Connectez votre iPhone à votre Mac via USB.

  2. Accédez à l'utilitaire réseau (cmd + espace et tapez "utilitaire réseau")

  3. Allez dans l'onglet "Info"

  4. Cliquez sur le menu déroulant qui dit "Wi-Fi" et sélectionnez "iPhone USB" comme indiqué sur la photo.

Utilitaire réseau, sélectionnez iPhone USB

  1. Vous trouverez une adresse IP comme "xxx.xxx.xx.xx" ou similaire. Ouvrez le navigateur Safari sur votre iPhone et entrez l'adresse_IP: numéro_port

    Exemple: 169.254.72.86:3000

[REMARQUE: si le champ d'adresse IP est vide, assurez-vous que votre iPhone est connecté via USB, quittez Network Utility, ouvrez-le à nouveau et vérifiez l'adresse IP.]

arjunkm
la source
Fonctionne comme un charme. Une autre fonctionnalité intéressante est que vous pouvez utiliser l'inspecteur pour le développement.
gazdagergo
3
Si vous ne voyez pas l'adresse IP, procédez comme suit: 1. activez le point d'accès personnel sur l'iPhone (connecté via USB) 2. désactivez le wifi sur votre Mac. De cette façon, l'iPhone se transforme en routeur et vous verrez à nouveau l'adresse IP.
gazdagergo
C'est la seule réponse qui a fonctionné sur mes 10 ans, merci beaucoup!
LAdams87
Cela fonctionne, mais semble inutile car l'utilisation de l'adresse IP du mac fonctionne tout aussi bien (c'est-à-dire: l'adresse IP que vous obtenez lorsque vous êtes tous les deux sur le même WiFi et que vous sélectionnez Wi-Fi (en0) dans la liste ci-dessus).
Tom Auger
20

Si vous n'êtes pas sur le même réseau, vous pouvez utiliser cet outil tiers appelé localtunnel

http://localtunnel.me/

Il achemine essentiellement votre contenu via un autre serveur et vous y accédez.

Nikos
la source
Cela était déjà couvert dans une réponse existante .
Mogsdad
10

Si vous préférez taper un nom d'hôte au lieu d'une adresse IP

Première option (Quick Way):

Vous devriez pouvoir naviguer http://my-macbook-pro.local/mywebsitesur votre iPhone. Voir https://stackoverflow.com/a/9304094/470749

Cette approche a tendance à fonctionner car le domaine «.local» est un mot réservé spécial.

Deuxième option:

Voir http://xip.io/ , qui est un service gratuit et très pratique. Aucune config nécessaire.

Ensuite, lorsque vous accédez à http://mysite.app.192.168.1.130.xip.io (en utilisant un navigateur sur votre serveur ou sur n'importe quel appareil de votre réseau local), il affichera la page hébergée sur 192.168.1.130.

Et si vous exécutez Homestead sur la machine qui existe à cette adresse IP, la navigation sur http://mysite.app.192.168.1.130.xip.io:44300 (avec le port dans l'URL) affiche en quelque sorte la page hébergée sur le Homestead Vagrant virtual machine at 192.168.10.10. Assez étonnant.

Troisième option (qui ne dépend pas d'un service et qui est flexible mais plus compliquée et ne fonctionne que si vous avez un routeur avec DD-WRT dessus):

Si vous avez un serveur local hébergeant plusieurs sites différents auxquels vous souhaitez accéder via différents noms d'hôte (via iPhone), vous pouvez le faire.

  1. Dans votre système d'exploitation, changez le nom de votre ordinateur en quelque chose de court, significatif et facile à retenir, comme "RYANDESK".
  2. Dans les paramètres de votre routeur DD-WRT:
    1. Dans Services > Services > Static Leases, définissez l'adresse MAC de votre serveur pour pointer vers une adresse IP spécifique, telle que 192.168.1.108. Définissez son nom d'hôte de la même manière que vous avez nommé votre ordinateur précédemment. La durée du bail du client peut être de 1 440 minutes.
    2. Assurez-vous d'appuyer sur Saveet également Apply Settingsà chaque changement. ("Enregistrer" ne semble pas appliquer automatiquement les paramètres.) Si vous obtenez une erreur, c'est probablement parce que la conception graphique de DD-WRT est trompeuse et que vous avez appuyé inutilement sur "Ajouter" pour les baux statiques.
    3. Dans DHCP Server > User Domain, choisissez "LAN & WAN". Pour "Domaine LAN", définissez-le sur une chaîne courte, telle que vos initiales sans aucune ponctuation (par exemple "xyz"). Évitez probablement d'utiliser le mot «local» car il pourrait y avoir des conflits. N'utilisez pas de domaines réels tels que "com", "org", "net", etc.
  3. Dans Services > Services > DNSMasq, activez DNSMasq et "DNS local" et configurez les "Options DNSMasq supplémentaires" comme suit: address=/project1.xyz/project2.xyz/192.168.1.108(où xyzest ce que vous avez choisi à l'étape précédente, l'IP pointe vers la machine spécifique et project1et project2quel est le nom d'hôte vers lequel vous voulez pointer chacun de ces projets (tels que différentes configurations Nginx).
  4. Assurez-vous que votre fichier HOSTS ne contient aucune entrée en conflit avec ce que nous avons fait. Si vous ne savez pas ce qu'est un fichier HOSTS, tout va bien.
  5. Videz votre cache DNS et libérez et renouvelez votre adresse IP locale. Activez et désactivez le mode Avion sur iPhone pour y vider le cache DNS.
  6. Maintenant, vous pouvez naviguer http://ryandesk.xyzdans votre iPhone (ou dans votre navigateur de bureau), et il se résoudra sur votre serveur local. J'espère donc que vous avez configuré votre Nginx ou Apache ou quoi que ce soit pour écouter ce nom d'hôte.

    https://wiseindy.com/it/how-to-access-your-pcs-using-dns-names-with-dd-wrt/ http://www.howtogeek.com/69696/how-to-access- vos-machines-en-utilisant-dns-names-with-dd-wrt /

Ryan
la source
6

Pour les utilisateurs de Mac, ouvrez l'utilitaire réseau (vous pouvez le trouver en tapant cmd + espace qui ouvrira Spotlight puis dans Spotlight commencez à taper Network Utility). Sélectionnez Network Utility, lorsqu'il est ouvert, votre adresse IP se trouve à côté de l'étiquette IP Address. Donc, fondamentalement, avec l'IP, vous pouvez accéder à tous les ports ouverts sur votre Mac local, par exemple si votre site Web s'exécute localement sur localhost: 3000 et que votre adresse IP est 154.31.92.0, puis à partir de votre téléphone, vous pouvez obtenir le site Web en tapant simplement 154.31. 92.0: 3000 dans un navigateur.

PS - Cela ne fonctionne que si le téléphone et l'ordinateur sont sur le même réseau

Kenigbolo
la source
Cela a très bien fonctionné. Dans Network Utility, j'ai sélectionné Wi-Fi au lieu d'Ethernet par défaut, puis mon adresse était 10.0.1.3. Sur mon Mac, j'avais un programme fonctionnant sur localhost: 3004, donc sur l'iPad j'ai tapé 10.0.1.3:3004 et j'ai pu voir le site fonctionnant localement sur mon Mac. Pour les cas plus complexes avec des sous-domaines, tels que demo.mysite.local: 3004, j'ai réussi avec DNSMasq, mais c'est un processus plus compliqué.
stahlmanDesign
5

WebpackDevServer localhost depuis l'iphone

Si vous utilisez une application qui s'exécute sur le nœud. vous pouvez utiliser le webpack comme outil de construction et utiliser leur devserver intégré

Vous pouvez utiliser webpackdevserver pour démarrer votre application à partir d'un serveur localhost, puis transmettre votre adresse localhost et le port de votre choix.

webpack-dev-server --host 192.168.0.89 --port 3000

puis depuis votre iPhone vous pouvez y accéder en utilisant

http://192.168.2.89:3000

Remarque :: Votre ordinateur portable et votre iPhone doivent être sur le même réseau et vous devez utiliser votre adresse IP localhost.

Pour Mac, comment trouver l'adresse IP, vous pouvez consulter Obtenir l'adresse IP locale dans node.js

Tarandeep Singh
la source
5

Si vous utilisez mac (OSX):

Sur votre mac:

  1. Terminal ouvert
  2. exécutez "ifconfig"
  3. Trouvez la ligne avec l'adresse IP "192.xx.xx"

Si vous testez votre site Web avec l'adresse: "localhost: 8888 / mywebsite" (cela dépend de vos configurations MAMP)

Sur votre téléphone :

  1. Ouvrez votre navigateur (par exemple Safari)
  2. Entrez l'URL 192.xxx.xx: 8888 / mywebsite

Remarque : vous devez être connecté sur le même réseau (wifi)

Jibeee
la source
3

Vous pouvez utiliser l' adresse IP de l'ordinateur à la place http: // localhost .

Mais il peut ne pas être accessible. Vous devez modifier le httpd.conf (ou fichier de configuration équivalent) de votre logiciel serveur. Je n'ai pas de php installé pour le moment mais vous pouvez effectuer une recherche avec le mot-clé: "Autoriser depuis ou / Répertoire"

Remarque: l'IP du PC sur lequel XAMPP s'exécute doit être une IP statique (non attribuée par DHCP), sinon vous devez la vérifier manuellement à chaque redémarrage du PC.

kyehan
la source
3

Je voulais accomplir la même chose que la demande d'origine, et j'ai cherché une réponse ici, et j'ai désactivé tous les pare-feu et la protection contre les virus en vain.

Ensuite, j'ai trouvé l'énoncé suivant concernant IIS express dans la documentation de Microsoft: "IIS express ne sert pas les requêtes à un navigateur sur un autre ordinateur, ce qui facilite son approbation dans les environnements d'entreprise".

En bout de ligne - vous devrez installer IIS (pas le IIS express livré) pour que votre projet soit vu en dehors de votre ordinateur.

Source: http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx

J'espère que cela sera utile à d'autres personnes qui décident de désactiver toutes les fonctions de sécurité de leur ordinateur.

DrHooverCraft
la source
2

Si vous travaillez sur un projet php, vous pouvez changer le href de base:

<base href="<?php echo str_replace("localhost","192.x.x.x",HTTPS_SERVER);?>">

  • localhost ou 127.0.0.1: selon vos paramètres
  • 192.xxx: votre adresse IP locale
  • HTTPS_SERVER: le href de base précédent

Cela est essentiel pour charger des images, des fichiers css et js sur votre téléphone.

Yassin
la source
2

AVEC WAMP :

1) vous devez cliquer sur l'icône WAMP> Mettre en ligne (attendre le redémarrage).

2) Ensuite (si vous êtes WiFi sur Iphone sur le même réseau), ouvrez votre IP dans le navigateur iPhone

c'est-à-dire http://192.168.1.22 OU http://164.92.124.42

Pour trouver vos adresses IP locales:
a) cliquez sur Démarrer> Exécuter> cmd et tapez ipconfig , vous y verrez.
OU
b) cliquez sur la flèche bleue et "louer un nouvel ip".

ps C'est tout. vous pouvez maintenant accéder à (local) localhost depuis Android ou iPhone

T.Todua
la source
2

Pour ceux d'entre vous qui utilisent la bonne adresse IP et vous ne pouvez toujours pas vous connecter au serveur local, une autre chose à vérifier est que vous ou votre collègue n'avez pas configuré l'appareil pour utiliser un serveur proxy.

J'avais un appareil qui ne se connectait pas, et il s'est avéré que l'appareil était configuré pour utiliser Charles Proxy, qui bien sûr ne fonctionnait pas.

David
la source
2

Trouvez l' IPadresse de votre système et sur ce que portvous utilisez le site Web.

Dites que votre adresse IP est 121.300.00.250et votre port l'est 8080.

[Numéro de port: consultez votre navigateur Web lors de l'exécution de la page, par exemple: localhost: 8080 / ... puis le numéro de port est 8080]

Maintenant, dans votre mobile, accédez à 121.300.00.250:8080/..et vous trouverez votre site Web.

IMPORTANT: vous devez vous assurer que votre serveur (par exemple Apache Tomcat) est en état de démarrage

un dood informatique
la source
1

Jetez un œil à cette réponse , elle traite du routage interne HTTP via des appels Objective-C directs vers un serveur Web de couche / embarqué compatible HTTP (supposons que le code du serveur HTTP se trouve dans la même application qui souhaite afficher le code HTML dans un site Web widget).

Cela a l'avantage d'être légèrement plus sécurisé (et peut-être plus rapide) car aucun port ne doit être exposé.

Big Rich
la source
1

Si vous choisissez d'aller dans vos paramètres réseau et d'obtenir une adresse IP Wi-Fi telle que xxx.xxx.x.xxx:9000 (: 9000 ou quel que soit le port ouvert), assurez-vous que votre appareil mobile est également sur ce même Wi -Adresse IP Fi / signal. J'ai passé une journée à essayer de faire fonctionner cela et cela n'a pas fonctionné jusqu'à ce que j'éteigne mon téléphone du réseau cellulaire sur la même connexion Wi-Fi / adresse IP. Ouvert dès que j'ai fait cette mise à jour.

timepicker_question
la source
Désactiver les données mobiles a fait toute la différence pour moi. Merci!
Andy Stewart
1

Il existe un moyen très simple d'y parvenir:

  1. Connectez votre téléphone et votre ordinateur au même réseau local.
  2. Window + R, puis tapez ipconfig , puis vous obtenez votre IP actuelle d'ur pc, cela ressemble à ceci: 192.168.XX.XX
  3. Tapez cette ip avec le port de votre application dans le navigateur Web de votre téléphone comme ceci: http: //192.168.XX.XX: 8080 , cela fonctionne

Remarque:

Si cela n'a pas fonctionné. Désactivez le logiciel antivirus sur votre PC, si cela ne fonctionne toujours pas, essayez de désactiver le pare-feu Windows, car le problème est lié au pare-feu du PC.

SkuraZZ
la source
1

Pas:

Je suppose que vous avez démarré le serveur Web (apache tomcat sur le port par défaut: 8080).

Sous Windows 10:

  1. Ouvrez votre antivirus, accédez à la section pare-feu, recherchez la section port et ajoutez un port TCP / IP local: 8080 pour autoriser l'accès
  2. obtenir l'adresse IP de la machine à partir de l'invite de commande. (Adresse IPv4)
  3. Lancez Chrome à partir de l'iPhone et passez à l' adresse IP : adresse 8080.

J'espère que cela t'aides.

gajanan malvade
la source
0

Depuis mon iPhone, je voulais parcourir un site Web hébergé sur le serveur IIS sur mon ordinateur portable Windows 8. Après quelques lectures, j'ai ouvert le pare-feu Windows, sélectionné "Autoriser une application ou une fonctionnalité via le pare-feu Windows". Ensuite, faites défiler vers le bas et cochez «Services World Wide Web (HTTP)» dans la liste. C'est tout, ça a marché. J'espère que ça aide quelqu'un d'autre aussi.

sumit
la source
0

Dans mon cas, j'ai d'abord connecté mon PC et mon mobile sur le même réseau, vous pouvez envoyer une requête ping à votre mobile depuis le PC pour tester la connexion.

J'exécute mon projet avec GGTS (Groovy / Grails Tool Suite) localement, puis j'accède au site Web depuis un mobile en utilisant l'adresse IP du PC et cela fonctionne très bien.

PS. en cours d'exécution à partir du local, cela donnerait une URL comme ( http: // localhost: 8080 / projectname ), vous devez remplacer localhost par l'adresse IP du PC si vous essayez d'accéder à votre site Web local à partir d'un mobile

tum
la source
0

Un autre moyen rapide et sale de le faire sur un Mac consiste à ouvrir xcode (si vous l'avez installé) et à exécuter Safari sur votre simulateur. Taper localhostici fonctionnera également.

Julian B.
la source