Jak uzyskać dostęp do strony internetowej działającej na localhost z przeglądarki iPhone'a

266

Pracuję nad witryną mobilną i chciałbym ją przetestować za pomocą przeglądarki iPhone'a. Mój komputer z systemem Windows 7 i iPhone są w tej samej sieci bezprzewodowej. Jak uzyskać dostęp do localhost z iPhone'a? W tej chwili otrzymuję błąd 404.

barany
źródło
1
upewnij się, że wyłączyłeś zaporę ogniową
ajahongir,
Na innym urządzeniu mobilnym w tej samej sieci odwiedź: „ Adres_IP: PORT ”. Szczegóły znajdują się w poniższych odpowiedziach.
Arshin

Odpowiedzi:

243

Dostęp do localhost z iPhone'a po prostu wykona pętlę zwrotną / spróbuje połączyć się ze sobą (jeśli to obsługuje?).

To, co musisz zrobić, to znaleźć adres IP komputera stacjonarnego (np. W systemie Windows przejdź do Command Prompti wpisz ipconfiglub przejdź do Network and Sharing Centrei wyszukaj connection status.

Po uzyskaniu adresu IP po prostu odwiedź go w przeglądarce, np http://192.168.0.102.

Może być konieczne otwarcie portu 80 (lub innego portu, na którym działa witryna) w zabezpieczeniach przychodzących zapory, jeśli taki jest uruchomiony.

Uwaga: nie zapomnij portu aplikacji, jeśli chcesz debugować aplikację w przeglądarce iPhone'a, np http://192.168.0.102:3000. : W tym przykładzie 3000 jest domyślnym portem używanym przez ReactJS.

Wil
źródło
1
„Dostęp do hosta lokalnego z iPhone'a po prostu wykona pętlę zwrotną / spróbuje połączyć się ze sobą (jeśli to obsługuje?)” - Oczywiście, że obsługuje. Prawie taka sama odpowiedź jak moja ahahahaha;)
cusspvz
1
Iphone, podobnie jak inne urządzenia oparte na systemach Unix, Symbian i Win, wymagają sprzężenia zwrotnego z powodu niektórych aplikacji, które łączą się z innymi za pośrednictwem adresu TCP / IP Loopback. Prawie wszystkie urządzenia z siecią mają funkcję pętli zwrotnej.
cusspvz
2
Jeśli testowanie odbywa się dla wordpress, musimy zmienić adres URL strony na http://xxx.xxx.xxx.xxx/wordpressw Wordpress Dashboard.
Rajul
1
W rzeczywistości spróbuj uzyskać dostęp do localhost: port do otwartego portu na komputerze. Działa w mojej konfiguracji.
2013 r. O
3
IINM, to nie zadziała w przypadku debugowania progresywnych aplikacji internetowych, które zwykle mają pracowników usług, ponieważ pracownicy usług wymagają protokołu https, a to wymaga certyfikatów. W Androidzie przesyła porty, abyś mógł nadal korzystać z localhost, a więc nie trzeba mieć kłopotów z uzyskaniem certyfikatów.
Max Waterman
174

Jeśli używasz komputera Mac, wybierz Preferencje systemowe> Sieć i użyj adresu IP zamiast localhost. Możesz także użyć numeru portu. W moim przypadku mam serwer działający na porcie 1448 i mogę wyświetlić podgląd 192.168.1.241:1448 za pomocą iPhone'a.

MacOsNetworkSettings

Fatih Acet
źródło
5
Ta odpowiedź to idealna równowaga między maniakiem komputerowym a maniakiem projektowania wizualnego. Dobra robota.
Roralee
40
Przytrzymaj klawisz Alt / Option, klikając element paska menu Wi-Fi. Daje to wiele dodatkowych informacji o twoim połączeniu, w tym twój lokalny adres IP.
William Robertson
Nie działa, jeśli twój serwer używa virtualhost (nazwa wielu hostów)
Trinh Hoang Nhu
2018: Narzędzie sieciowe> Informacje (pierwsza karta)> Adres IP (w obszarze Informacje o interfejsie) - działa! thnku
webkit
2
Aby uzyskać dostęp do piaskownicy programowania, musiałem zmienić hosta piaskownicy na 0.0.0.0zamiast localhost. stackoverflow.com/a/35419631/1054633
Ben
28

możesz wypróbować ngrok.io . Działa na tej samej zasadzie co tunel lokalny.
Pobierz aplikację na swój system operacyjny. i spróbuj uruchomić jak:

dla systemu Linux:

./ngrok http 8000

8000 to numer portu, na którym działa twoja aplikacja.

dla Windowsa:

 ngrok.exe http 8000
Manish Gupta
źródło
2
To teoretycznie może odpowiedzieć na pytanie, ale najlepiej byłoby dołączyć tutaj podstawowe części odpowiedzi dla przyszłych użytkowników i podać link w celach informacyjnych. Odpowiedzi zdominowane przez łącze mogą stać się nieważne w wyniku zepsucia łącza .
Mogsdad
Dzięki, zredagowałem odpowiedź. Ale nadal jest zdominowany przez link. Jednak zawsze można google w przypadku zerwania linku.
Manish Gupta,
28

Spróbuj tego:

  1. Naciśnij Windows+R
  2. otwarty cmd
  3. Uruchom ipconfig (stary) ifconfig (nowy)
  4. Sprawdź adres IP swojej karty sieci bezprzewodowej
  5. Przejdź do iPhone'a i przejdź do „ http://xxx.xxx.xxx.xxx/ ” w przeglądarce.
    (xxx.xxx.xxx.xxx to twoje IP)

Uwaga: musisz ustawić uprawnienia do ustawień zapory, jeśli takie istnieją.

cusspvz
źródło
Uratowałeś mi dzień!
Alexandr
21

Jeśli używasz MAMP , wpisz swój adres IP (powiedzmy 192.0.0.63) w przeglądarce iPhone Safari, następnie numer portu 8888 (np. 192.0.0.63:8888), a będziesz mógł zobaczyć swoją lokalną witrynę w twój iPhone.

A jeśli używasz serwera WAMP , ponownie w przeglądarce Safari na iPhonie po prostu wpisz adres IP (powiedzmy 192.0.0.63) i to wszystko. Ale nie zapomnij usunąć deny from allpliku httpd.conf z serwera WAMP. Jeśli szukasz linii allow from 127.0.0.1, nad nią lub pod nią zobaczysz deny from all; po prostu usuń ten wiersz i uruchom ponownie serwer WAMP, który powinien wykonać zadanie.

ecko
źródło
1
Numer portu MAMP zależy od ustawień w zakładce „serwer”.
Jennie Ji
Chcę tylko dodać jedną notatkę: jeśli próbowałeś i to nie działało, spróbuj zmienić sieć na coś innego, w moim przypadku przełączyłem się na hotspot 4G mojego telefonu i działał normalnie
Tho Vo
21

Jeśli używasz komputera Mac -

  1. Podłącz swój iPhone do komputera Mac za pomocą USB.

  2. Przejdź do narzędzia sieciowego (cmd + spacja i wpisz „narzędzie sieciowe”)

  3. Przejdź do zakładki „Informacje”

  4. Kliknij menu rozwijane z napisem „Wi-Fi” i wybierz „iPhone USB”, jak pokazano na zdjęciu.

Narzędzie sieciowe, wybierz iPhone USB

  1. Znajdziesz adres IP taki jak „xxx.xxx.xx.xx” lub podobny. Otwórz przeglądarkę Safari na swoim iPhonie i wprowadź adres_IP: numer_portu

    Przykład: 169.254.72.86:3000

[UWAGA: Jeśli pole adresu IP jest puste, upewnij się, że iPhone jest podłączony przez USB, zamknij Narzędzie sieciowe, otwórz je ponownie i sprawdź adres IP.]

arjunkm
źródło
Działa jak marzenie. Kolejną fajną funkcją jest to, że możesz używać inspektora do programowania.
gazdagergo
3
Jeśli nie widzisz adresu IP, wykonaj następujące czynności: 1. włącz osobisty hot spot na iPhonie (podłączonym przez USB) 2. wyłącz Wi-Fi na komputerze Mac. W ten sposób iPhone zmieni się w router i ponownie zobaczysz adres IP.
gazdagergo
To jedyna odpowiedź, która zadziałała na moich 10s, dziękuję bardzo!
LAdams87
Działa to, ale wydaje się niepotrzebne, ponieważ korzystanie z adresu IP komputera Mac działa równie dobrze (tj. Adres IP, który otrzymujesz, gdy oboje korzystasz z tego samego Wi-Fi i wybierasz Wi-Fi (en0) z powyższej listy).
Tom Auger,
20

Jeśli nie jesteś w tej samej sieci, możesz użyć tego narzędzia zewnętrznego o nazwie localtunnel

http://localtunnel.me/

Zasadniczo kieruje twoją treść przez inny serwer i masz do tego dostęp.

Nikos
źródło
Zostało to już uwzględnione w istniejącej odpowiedzi .
Mogsdad,
10

Jeśli wolisz raczej wpisać nazwę hosta zamiast adresu IP

Pierwsza opcja (szybki sposób):

Nawigacja http://my-macbook-pro.local/mywebsitepo telefonie iPhone powinna być możliwa . Zobacz https://stackoverflow.com/a/9304094/470749

Takie podejście zwykle działa, ponieważ domena „.local” jest specjalnym słowem zastrzeżonym.

Druga opcja:

Zobacz http://xip.io/ , która jest bezpłatną usługą i jest bardzo wygodna. Nie wymaga konfiguracji.

Następnie, gdy przejdziesz do http://mysite.app.192.168.1.130.xip.io (za pomocą przeglądarki na serwerze lub na dowolnym urządzeniu w sieci LAN), wyświetli się strona hostowana na 192.168.1.130.

A jeśli korzystasz z Homestead na komputerze, który istnieje pod tym adresem IP, przeglądanie do http://mysite.app.192.168.1.130.xip.io:44300 (z portem w adresie URL) w jakiś sposób pokazuje stronę hostowaną na Wirtualna maszyna Homestead Vagrant przy 192.168.10.10. Całkiem niesamowite.

Trzecia opcja (która nie zależy od usługi i jest elastyczna, ale bardziej skomplikowana i działa tylko, jeśli masz router z DD-WRT):

Jeśli masz jeden serwer lokalny obsługujący wiele różnych witryn, do których chcesz uzyskać dostęp za pośrednictwem różnych nazw hostów (przez iPhone'a), możesz to zrobić.

  1. W systemie operacyjnym zmień nazwę komputera na coś krótkiego, znaczącego i łatwego do zapamiętania, na przykład „RYANDESK”.
  2. W ustawieniach routera DD-WRT:
    1. W Services > Services > Static Leasesustaw adres MAC serwera, aby wskazywał określony adres IP, na przykład 192.168.1.108. Ustaw jego nazwę hosta, aby była taka sama jak nazwa twojego komputera wcześniej. „Czas dzierżawy klienta” może wynosić 1440 minut.
    2. Pamiętaj, aby nacisnąć, Savea także Apply Settingsprzy każdej zmianie. („Zapisz” nie wydaje się automatycznie stosować ustawień.) Jeśli pojawi się błąd, to prawdopodobnie dlatego, że projekt GUI DD-WRT wprowadza w błąd i niepotrzebnie nacisnąłeś „Dodaj” w przypadku leasingu statycznego.
    3. W DHCP Server > User Domainwybierz „LAN & WAN”. W przypadku „Domeny LAN” ustaw go na krótki ciąg, taki jak inicjały bez interpunkcji (np. „Xyz”). Prawdopodobnie unikaj używania słowa „lokalny”, ponieważ mogą wystąpić konflikty. Nie używaj domen rzeczywistych, takich jak „com”, „org”, „net” itp.
  3. W Services > Services > DNSMasq, włącz DNSMasq i „Lokalny DNS” i skonfiguruj „Dodatkowe opcje DNSMasq”, aby wyglądało to tak: address=/project1.xyz/project2.xyz/192.168.1.108(gdzie xyzjest to, co wybrałeś we wcześniejszym kroku, adres IP wskazuje konkretny komputer project1i project2jest nazwą hosta, którą chcesz wskazać każdy z tych projektów (np. różne konfiguracje Nginx).
  4. Upewnij się, że w pliku HOSTS nie ma żadnych wpisów sprzecznych z tym, co zrobiliśmy. Jeśli nie wiesz, co to jest plik HOSTS, prawdopodobnie nic ci nie jest.
  5. Opróżnij pamięć podręczną DNS, zwolnij i odnów lokalny adres IP. Włącz i wyłącz tryb samolotowy na iPhonie, aby tam również opróżnić pamięć podręczną DNS.
  6. Teraz możesz przeglądać http://ryandesk.xyzw swoim iPhonie (lub w przeglądarce na komputerze), a to rozwiąże się na lokalnym serwerze. Mam nadzieję, że skonfigurowałeś Nginx, Apache lub cokolwiek innego, aby nasłuchiwać tej nazwy hosta.

    https://wiseindy.com/it/how-to-access-your-pcs-using-dns-names-with-dd-wrt/ http://www.howtogeek.com/69696/how-to-access- twoje-maszyny-za pomocą-dns-names-with-dd-wrt /

Ryan
źródło
6

W przypadku użytkowników komputerów Mac otwórz Narzędzie sieciowe (możesz to znaleźć, wpisując cmd + spację, która otworzy reflektor, a następnie w Spotlight zacznij pisać Narzędzie sieciowe). Wybierz Network Utility, gdy jest otwarty, twój adres IP będzie znajdował się obok etykiety Adres IP. Zasadniczo dzięki adresowi IP możesz uzyskać dostęp do dowolnych otwartych portów na lokalnym komputerze Mac, np. Jeśli witryna działa lokalnie na localhost: 3000, a twój adres IP to 154.31.92.0, a następnie z telefonu możesz uzyskać dostęp do witryny, wpisując 154.31. 92.0: 3000 w przeglądarce.

PS - Działa to tylko wtedy, gdy zarówno telefon, jak i komputer znajdują się w tej samej sieci

Kenigbolo
źródło
To działało świetnie. W Network Utility wybrałem Wi-Fi zamiast domyślnego Ethernetu, a następnie mój adres to 10.0.1.3. Na moim Macu miałem program działający na localhost: 3004, więc na iPadzie napisałem 10.0.1.3:3004 i byłem w stanie wyświetlić witrynę działającą lokalnie na moim Macu. W przypadku bardziej złożonych przypadków z poddomenami, takich jak demo.mysite.local: 3004, miałem sukces z DNSMasq, ale jest to bardziej skomplikowany proces.
stahlmanDesign
5

Lokalny host WebpackDevServer z iPhone'a

Jeśli korzystasz z aplikacji działającej w węźle. możesz użyć webpacka jako narzędzia do budowania i użyć ich wbudowanego devservera

Możesz użyć webpackdevserver, aby uruchomić aplikację z serwera localhost, a następnie podać adres i port lokalnego hosta.

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

następnie z iPhone'a możesz uzyskać do niego dostęp za pomocą

http://192.168.2.89:3000

Uwaga :: Twój laptop i iPhone powinny być w tej samej sieci i powinieneś używać adresu IP localhost.

W przypadku komputerów Mac, jak znaleźć adres IP, zapoznaj się Uzyskaj lokalny adres IP w pliku node.js

Tarandeep Singh
źródło
5

Jeśli używasz systemu Mac (OSX):

Na twoim komputerze Mac:

  1. Otwórz terminal
  2. uruchom „ifconfig”
  3. Znajdź linię z adresem IP „192.xx.xx”

Jeśli testujesz swoją stronę z adresem: „localhost: 8888 / mywebsite” (zależy to od konfiguracji MAMP )

Na Twoim telefonie :

  1. Otwórz przeglądarkę (np. Safari)
  2. Wpisz adres URL 192.xxx.xx: 8888 / mywebsite

Uwaga : musisz być podłączony do tej samej sieci (Wi-Fi)

Jibeee
źródło
3

Możesz użyć adresu IP komputera zamiast http: // localhost .

Ale może być niedostępny. Musisz edytować plik httpd.conf (lub równoważny plik konfiguracyjny) oprogramowania serwera. Nie mam zainstalowanego php, ale możesz wyszukiwać za pomocą słowa kluczowego: „Zezwól z katalogu / /”

Uwaga: Adres IP komputera, na którym działa XAMPP, powinien być statycznym adresem IP (nieprzypisanym przez DHCP), w przeciwnym razie trzeba go sprawdzać ręcznie przy każdym ponownym uruchomieniu komputera.

kyehan
źródło
3

Chciałem osiągnąć to samo, co pierwotne żądanie, szukałem tutaj odpowiedzi i wyłączyłem każdą zaporę ogniową i ochronę przed wirusami bezskutecznie.

Następnie w dokumentacji Microsoftoft znalazłem następujące oświadczenie dotyczące usług IIS express: „Usługi IIS express nie obsługują żądań do przeglądarki na innym komputerze, co ułatwia ich zatwierdzanie w środowiskach korporacyjnych”.

Podsumowując - będziesz musiał zainstalować IIS (nie dostarczony IIS express), aby twój projekt był widoczny poza komputerem.

Źródło: http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx

Mam nadzieję, że jest to pomocne dla innych osób, które wariują, wyłączając wszystkie funkcje bezpieczeństwa na swoim komputerze.

DrHooverCraft
źródło
2

Jeśli pracujesz nad projektem php, możesz zmienić podstawowy href:

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

  • localhost lub 127.0.0.1: w zależności od ustawień
  • 192.xxx: twój lokalny adres IP
  • HTTPS_SERVER: poprzedni podstawowy href

Jest to niezbędne, aby załadować obrazy, pliki css i js do telefonu.

Yassin
źródło
2

Z WAMP :

1) powinieneś kliknąć ikonę WAMP> Przełącz online (poczekaj, aż ponownie się uruchomi).

2) Następnie (jeśli masz WiFi na Iphone w tej samej sieci), otwórz swój adres IP w przeglądarce iPhone'a

tj. http://192.168.1.22 LUB http://164.92.124.42

Aby znaleźć lokalne adresy IP:
a) kliknij Start> Uruchom> cmd i wpisz ipconfig , a tam zobaczysz.
LUB
b) kliknij niebieską strzałkę i „dzierżaw nowego IP”.

ps To wszystko. teraz możesz uzyskać dostęp (otwórz) localhost z Androida lub iPhone'a

T.Todua
źródło
2

Dla tych z was, którzy używają prawidłowego adresu IP i nadal NIE mogą połączyć się z serwerem lokalnym, jeszcze jedną rzeczą do sprawdzenia jest to, że ty lub twój współpracownik nie skonfigurowaliście urządzenia do korzystania z serwera proxy.

Miałem jedno urządzenie, które nie chce się połączyć, i okazało się, że urządzenie zostało skonfigurowane do korzystania z Charlesa Proxy, który oczywiście nie działał.

David
źródło
2

Znajdź IPadres swojego systemu i na czym portprowadzisz witrynę.

Powiedz, że twój adres IP to 121.300.00.250i twój port to 8080.

[Numer portu: patrz przeglądarka internetowa podczas uruchamiania strony, np .: localhost: 8080 / ... to numer portu to 8080]

Teraz w telefonie komórkowym przejdź do, 121.300.00.250:8080/..a znajdziesz swoją stronę internetową.

WAŻNE: Musisz upewnić się, że Twój serwer (np. Apache Tomcat) jest w stanie uruchomionym

trochę informatyki
źródło
1

Spójrz na tę odpowiedź , omawia wewnętrzne routing HTTP przez bezpośrednie wywołania Objective-C do obsługującego HTTP warstwy / wbudowanego serwera internetowego (załóżmy, że kod serwera HTTP znajduje się w tej samej aplikacji, która chce wyświetlać HTML w sieci widget).

Ma to tę zaletę, że jest nieco bardziej bezpieczne (i być może szybsze), ponieważ żaden port nie powinien być odsłonięty.

Big Rich
źródło
1

Jeśli wybierzesz drogę do ustawień sieciowych i uzyskasz adres IP Wi-Fi, taki jak xxx.xxx.x.xxx:9000 (: 9000 lub inny port, który jest otwarty), upewnij się, że twoje urządzenie mobilne jest również w tej samej sieci Wi -Fi / sygnał adres IP. Spędziłem dzień, starając się, aby to zadziałało i nie zadziałało, dopóki nie wyłączyłem telefonu z sieci komórkowej na to samo połączenie Wi-Fi / adres IP. Otwarte zaraz po dokonaniu tej aktualizacji.

timepicker_question
źródło
Wyłączenie komórkowej transmisji danych miało dla mnie ogromne znaczenie. Dzięki!
Andy Stewart
1

Istnieje bardzo prosty sposób na osiągnięcie tego:

  1. Podłącz telefon i komputer do tej samej sieci LAN.
  2. Window + R, a następnie wpisz ipconfig , a następnie otrzymasz bieżący adres IP swojego komputera, wygląda to tak: 192.168.XX.XX
  3. Wpisz ten adres IP z portem aplikacji w przeglądarce internetowej telefonu w następujący sposób: http: //192.168.XX.XX: 8080 , działa

Uwaga:

Jeśli to nie zadziałało. Wyłącz oprogramowanie antywirusowe na komputerze, jeśli nadal nie działa, spróbuj wyłączyć zaporę systemu Windows, ponieważ problem jest związany z zaporą komputera.

SkuraZZ
źródło
1

Kroki:

Zakładam, że uruchomiłeś serwer WWW (apache tomcat na domyślnym porcie: 8080).

W systemie Windows 10:

  1. Otwórz program antywirusowy, przejdź do sekcji zapory sieciowej, zlokalizuj sekcję portu i dodaj lokalny port TCP / IP: 8080, aby umożliwić dostęp
  2. pobierz adres IP komputera z wiersza polecenia. (Adres IPv4)
  3. Uruchom chrome z iPhone'a i uzyskaj adres IP : adres 8080.

Mam nadzieję że to pomoże.

Gajanan Malvade
źródło
0

Z iPhone'a chciałem przeglądać stronę internetową hostowaną na serwerze IIS na moim laptopie z systemem Windows 8. Po krótkiej lekturze otworzyłem Zaporę systemu Windows i wybrałem „Zezwalaj na aplikację lub funkcję przez zaporę systemu Windows”. Następnie przewinął w dół i zaznaczył „World Wide Web Services (HTTP)” z listy. To wszystko działało. Mam nadzieję, że pomoże to również komuś innemu.

sumit
źródło
0

W moim przypadku najpierw podłączyłem komputer i telefon do tej samej sieci, możesz pingować telefon z komputera, aby przetestować połączenie.

Prowadzę projekt z GGTS (Groovy / Grails Tool Suite) lokalnie, a następnie uzyskuję dostęp do strony internetowej z telefonu komórkowego za pomocą adresu IP komputera i działa bardzo dobrze.

PS. działając z lokalnego, podałby URL taki jak ( http: // localhost: 8080 / nazwa projektu ) powinieneś zastąpić localhost adresem IP komputera, jeśli próbujesz uzyskać dostęp do lokalnej witryny z telefonu komórkowego

tum
źródło
0

Innym szybkim i brudnym sposobem na zrobienie tego na komputerze Mac jest otwarcie xcode (jeśli go zainstalowałeś) i uruchomienie safari na symulatorze. Pisanie localhosttutaj też będzie działać.

Julian B.
źródło