Como você acessa um site em execução no host local no navegador do iPhone


266

Estou trabalhando em um site móvel e gostaria de testá-lo usando o navegador do iPhone. Minha máquina com Windows 7 e o iPhone estão na mesma rede sem fio. Como acesso o host local a partir do iPhone? Neste momento, recebo um erro 404.


1
certifique-se de que você desligou firewall
ajahongir

Em outro dispositivo móvel na mesma rede, visite: " Endereço_IP: PORT ". Os detalhes estão nas respostas a seguir.
Arshin 24/10/19

Respostas:


243

O acesso ao host local a partir do iPhone simplesmente faz um loopback / tenta conectar-se a si mesmo (se é compatível com isso?).

O que você precisa fazer é encontrar o IP da sua máquina desktop (por exemplo, se o Windows, vá para Command Prompte digite ipconfigou vá Network and Sharing Centree procure connection status.

Depois de ter o seu ip, basta visitá-lo no seu navegador, por exemplo http://192.168.0.102.

Pode ser necessário abrir a porta 80 (ou qualquer outra porta em que seu site esteja sendo executado) na segurança de entrada do firewall, se você estiver executando um.

Nota: não se esqueça da porta do aplicativo se o que você quer é para depurar o aplicativo no navegador do seu iPhone como: http://192.168.0.102:3000. Neste exemplo, 3000 é a porta padrão usada pelo ReactJS.


1
"O acesso ao host local a partir do iPhone simplesmente faz um loopback / tenta conectar-se a si mesmo (se é compatível com isso?)" - É claro que é compatível. Quase mesma resposta que ahahahaha meu;)
cusspvz

1
O iPhone, como outros dispositivos baseados em unix, symbian e win, tem a necessidade de loopback por causa de alguns aplicativos que se conectam a outros pelo endereço de loopback TCP / IP. Quase todos os dispositivos com rede têm a capacidade de loopback.
cusspvz

2
Se o teste for para o wordpress, precisamos alterar o URL do site http://xxx.xxx.xxx.xxx/wordpressno painel do wordpress.
Rajul

1
Na verdade, tente acessar localhost: port para uma porta aberta em sua máquina. Funciona na minha configuração.
orip 18/03/2013

3
IINM, isso não funcionará na depuração de aplicativos Web progressivos, que geralmente têm trabalhadores de serviço, já que os trabalhadores de serviço exigem https e isso exige certificados. Com o Android, ele encaminha as portas para que você ainda possa usar o host local e, portanto, não precisa do trabalho de obter certificados.
Max Waterman

174

Se você estiver usando Mac, vá para Preferências do Sistema> Rede e use seu endereço IP em vez do host local. Você também pode usar o número da porta. No meu caso, tenho um servidor em execução na porta 1448 e posso visualizar 192.168.1.241:1448 usando o iPhone.

MacOsNetworkSettings


5
Esta resposta é um equilíbrio perfeito entre comp sci geek e visual design geek. Bem feito.
Roralee

40
Mantenha pressionada a tecla Alt / Option enquanto clica no item da barra de menu Wi-Fi. Isso fornece várias informações adicionais sobre sua conexão, incluindo o seu endereço IP local.
William Robertson

Não trabalho se o seu servidor usando virtualhost (múltipla nome do host)
Trinh Hoang Nhu

2018: Utilitário de rede> Informações (primeira guia)> Endereço IP (em Informações da interface) - funciona! thnku
webkit

2
Para acessar uma sandbox de desenvolvimento, tive que mudar o host da sandbox para em 0.0.0.0vez de localhost. stackoverflow.com/a/35419631/1054633
Ben Ben

28

você pode tentar o ngrok.io . Funciona com o mesmo princípio que o túnel local.
Baixe o aplicativo para o seu sistema operacional. e tente executar como:

para linux:

./ngrok http 8000

8000 é o número da porta em que seu aplicativo está sendo executado.

para Windows:

 ngrok.exe http 8000

2
Teoricamente, isso pode responder à pergunta, mas seria melhor incluir aqui as partes essenciais da resposta para futuros usuários e fornecer o link para referência. As respostas dominadas pelo link podem se tornar inválidas através da podridão do link .
Mogdad 2/16

Obrigado, editei a resposta. Mas ainda é link dominado. No entanto, sempre é possível pesquisar no Google, caso o link esteja quebrado.
precisa

28

Tente o seguinte:

  1. Pressione Windows+R
  2. Abrir cmd
  3. Executar ipconfig (antigo) ifconfig (novo)
  4. Verifique o IP da sua placa de rede sem fio
  5. Vá para o iPhone e navegue até " http://xxx.xxx.xxx.xxx/ " através do seu navegador.
    (xxx.xxx.xxx.xxx é o seu IP)

Nota: você deve definir a permissão nas configurações do firewall, se houver.


Você salvou o meu dia!
Alexandr

21

Se você estiver usando o MAMP , digite seu endereço IP (digamos 192.0.0.63) no navegador Safari do iPhone, seguido pelo número da porta 8888 (por exemplo, 192.0.0.63:8888) e você poderá ver o site local em seu iPhone.

E se você estiver usando um servidor WAMP , novamente no navegador Safari do iPhone, basta digitar o endereço IP (digamos 192.0.0.63) e pronto. Mas não esqueça de remover o deny from allarquivo httpd.conf do seu servidor WAMP. Se você procurar a linha allow from 127.0.0.1, acima ou abaixo dela, verá deny from all; apenas exclua esta linha e reinicie o servidor WAMP e isso deve ocorrer.


1
O número da porta do MAMP depende das suas configurações na guia 'servidor'.
Jennie Ji

Eu só quero adicionar uma observação: se você tentou e não funcionou, tente mudar a rede para outra coisa diferente. No meu caso, mudei para o meu hotspot 4G do meu telefone e funcionou normalmente
Tho Vo

21

Se você estiver usando um Mac -

  1. Conecte seu iPhone ao seu Mac via USB.

  2. Vá para Network Utility (cmd + espaço e digite "network utility")

  3. Vá para a aba "Informações"

  4. Clique no menu suspenso que diz "Wi-Fi" e selecione "iPhone USB", como mostra a foto.

Network Utility, selecione iPhone USB

  1. Você encontrará um endereço IP como "xxx.xxx.xx.xx" ou semelhante. Abra o navegador Safari no seu iPhone e digite IP_address: port_number

    Exemplo: 169.254.72.86:3000

[NOTA: Se o campo de endereço IP estiver em branco, verifique se o iPhone está conectado via USB, saia do Network Utility, abra-o novamente e verifique o endereço IP.]


Funciona como um encanto. Outro recurso interessante é que você pode usar o inspetor para desenvolvimento.
gazdagergo

3
Se você não conseguir ver o endereço IP, faça o seguinte: 1. ligue o hot spot pessoal no iPhone (sendo conectado via USB) 2. desligue o wifi no seu mac. Dessa forma, o iPhone passa para o roteador e você verá o endereço IP novamente.
gazdagergo

Esta é a única resposta que funcionou nos meus 10 anos, muito obrigado!
LAdams87

Isso funciona, mas parece desnecessário, pois o uso do endereço IP do mac também funciona (ou seja: o endereço IP que você obtém quando ambos estão no mesmo WiFi e seleciona Wi-Fi (en0) na lista acima).
Tom Auger


10

Se você preferir digitar um nome de host em vez de endereço IP

Primeira opção (maneira rápida):

Você poderá navegar http://my-macbook-pro.local/mywebsiteno seu iPhone. Consulte https://stackoverflow.com/a/9304094/470749

Essa abordagem tende a funcionar porque o domínio '.local' é uma palavra reservada especial.

Segunda opçao:

Veja http://xip.io/ , que é um serviço gratuito e é super conveniente. Nenhuma configuração é necessária.

Então, quando você navegar para http://mysite.app.192.168.1.130.xip.io (usando um navegador em seu servidor ou em qualquer dispositivo em sua LAN), ele exibirá a página hospedada em 192.168.1.130.

E se você estiver executando o Homestead na máquina que existe nesse IP, navegando até http://mysite.app.192.168.1.130.xip.io:44300 (com a porta na URL) de alguma forma mostra a página hospedada no Máquina virtual Homestead Vagrant em 192.168.10.10. Muito incrível.

Terceira opção (que não depende de um serviço e é flexível, mas mais complicada e só funciona se você tiver um roteador com DD-WRT):

Se você tiver um servidor local que hospeda vários sites diferentes que gostaria de acessar através de nomes de host diferentes (via iPhone), você pode fazer isso.

  1. No seu sistema operacional, altere o nome do seu computador para algo curto, significativo e fácil de lembrar, como "RYANDESK".
  2. Nas configurações do seu roteador DD-WRT:
    1. Em Services > Services > Static Leases, defina o endereço MAC do seu servidor para apontar para um endereço IP específico, como 192.168.1.108. Defina o nome do host como igual ao nome do seu computador anteriormente. O "Tempo de concessão do cliente" pode demorar 1440 minutos.
    2. Certifique-se de pressionar Savee também Apply Settingsa cada alteração. ("Salvar" não parece aplicar automaticamente as configurações.) Se você receber um erro, provavelmente é porque o design da GUI do DD-WRT é enganoso e você pressionou desnecessariamente "Adicionar" para concessões estáticas.
    3. Em DHCP Server > User Domain, escolha "LAN & WAN". Para "Domínio da LAN", defina-o como uma sequência curta, como suas iniciais, sem pontuação (por exemplo, "xyz"). Provavelmente evite usar a palavra "local", pois pode haver conflitos. Não use domínios do mundo real como "com", "org", "net" etc.
  3. Em Services > Services > DNSMasq, permitir dnsmasq e "DNS local" e configure "Opções dnsmasq adicionais" para ser algo como: address=/project1.xyz/project2.xyz/192.168.1.108(onde xyzé o que você escolheu na etapa anterior, os pontos de IP para a máquina específica, e project1e project2são tudo o hostname você quer apontar para cada um desses projetos (como diferentes configurações do Nginx).
  4. Verifique se o seu arquivo HOSTS não possui entradas conflitantes com o que fizemos. Se você não sabe o que é um arquivo HOSTS, provavelmente está bem.
  5. Lave seu cache DNS e libere e renove seu IP local. Alterne para dentro e para fora do modo avião no iPhone para liberar o cache DNS também.
  6. Agora você pode navegar http://ryandesk.xyzno seu iPhone (ou no navegador da área de trabalho) e ele será resolvido no servidor local. Espero que você tenha configurado seu Nginx ou Apache ou o que quer que esteja ouvindo para esse nome de host.

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


6

Para usuários de Mac, abra o Network Utility (você pode encontrá-lo digitando cmd + space, que abrirá o holofote e, no holofote, comece a digitar o Network Utility). Selecione Network Utility, quando estiver aberto, seu endereço IP será encontrado próximo ao rótulo Endereço IP. Então, basicamente com o IP, você pode entrar em qualquer porta aberta no seu Mac local, por exemplo, se o seu site estiver sendo executado localmente no localhost: 3000 e seu endereço IP for 154.31.92.0, no seu telefone, você poderá obter o site simplesmente digitando 154.31. 92.0: 3000 em um navegador.

PS- Isso funciona apenas se o telefone e o computador estiverem na mesma rede


Isso funcionou muito bem. No Network Utility, selecionei Wi-Fi em vez da Ethernet padrão e, em seguida, meu endereço era 10.0.1.3. No meu Mac, eu tinha um programa em execução no localhost: 3004; no iPad, digitei 10.0.1.3:3004 e consegui visualizar o site em execução localmente no meu Mac. Para casos mais complexos com subdomínios, como demo.mysite.local: 3004, obtive sucesso com o DNSMasq, mas é um processo mais complicado.
stahlmanDesign

5

WebpackDevServer localhost do iphone

Se você estiver usando um aplicativo em execução no nó. você pode usar o webpack como uma ferramenta de construção e usar o seu devserver embutido

Você pode usar o webpackdevserver para iniciar seu aplicativo a partir de um servidor localhost e depois passar o endereço do host local e a porta de sua escolha.

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

então, a partir do seu iPhone, você pode acessá-lo usando

http://192.168.2.89:3000

Nota: Seu laptop e iPhone devem estar na mesma rede e você deve usar o endereço IP do host local.

Para Mac, como encontrar o endereço IP, consulte Obter endereço IP local no node.js


5

Se você estiver usando mac (OSX):

No seu mac:

  1. Terminal Aberto
  2. execute "ifconfig"
  3. Encontre a linha com o endereço IP "192.xx.xx"

Se você estiver testando seu site com o endereço: "localhost: 8888 / mywebsite" (depende das configurações do MAMP)

No seu celular :

  1. Abra o seu navegador (por exemplo, Safari)
  2. Digite o URL 192.xxx.xx: 8888 / mywebsite

Nota : você precisa estar conectado na mesma rede (wifi)


3

Você pode usar o ip do computador em vez de http: // localhost .

Mas pode não estar acessível. Você deve editar o httpd.conf (ou arquivo de configuração equivalente) do seu software de servidor. Eu não tenho o php instalado no momento, mas você pode pesquisar com a palavra-chave: "Permitir de / / Diretório"

Nota: O IP do PC em que o XAMPP está sendo executado deve ser um IP estático (não atribuído pelo DHCP); caso contrário, você deverá verificá-lo manualmente sempre que reiniciar o PC.


3

Eu queria realizar a mesma coisa que a solicitação original, procurei uma resposta aqui e desliguei todos os firewalls e proteção contra vírus sem sucesso.

Em seguida, encontrei a seguinte declaração sobre o IIS express na documentação da Microsoft: "O IIS Express não atende solicitações a um navegador em outro computador, facilitando sua aprovação em ambientes corporativos".

Conclusão - você precisará instalar o IIS (não o IIS Express entregue) para que seu projeto seja visto fora do computador.

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

Espero que isso seja útil para outras pessoas que estão enlouquecendo ao desativar todos os recursos de segurança em seus computadores.


2

Se você estiver trabalhando em um projeto php, poderá alterar o href base:

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

  • localhost ou 127.0.0.1: dependendo das suas configurações
  • 192.xxx: o seu endereço IP local
  • HTTPS_SERVER: a base anterior href

Isso é essencial para carregar imagens, arquivos css e js no seu telefone.


2

Com WAMP :

1) você deve clicar no ícone WAMP> Colocar Online (aguarde até reiniciar).

2) Então (se você é WiFi no Iphone na mesma rede), abra seu IP no navegador do iPhone

ie http://192.168.1.22 OR http://164.92.124.42

Para encontrar os IPs locais:
a) clique em Iniciar> Executar> cmd e digite ipconfig , e você verá lá.
OU
b) clique na seta azul e "lease new ip".

ps Isso é tudo. agora você pode acessar o localhost (aberto) no Android ou iPhone


2

Para aqueles que usam o endereço IP correto e AINDA NÃO conseguem se conectar ao servidor local, outra coisa a verificar é que você ou seu colega de trabalho não configuraram o dispositivo para usar um servidor proxy.

Eu tinha um dispositivo que não se conectava e, por fim, o dispositivo foi configurado para usar o Charles Proxy, que obviamente não estava sendo executado.


2

Encontre o IPendereço do seu sistema e o que portvocê está executando no site.

Digamos que seu endereço IP seja 121.300.00.250e sua porta seja 8080.

[Número da porta: consulte seu navegador da web enquanto executa a página, por exemplo: localhost: 8080 / ... então o número da porta é 8080]

Agora, no seu celular, acesse 121.300.00.250:8080/..e você encontrará seu site.

IMPORTANTE: Você precisa se certificar de que seu servidor (por exemplo, Apache Tomcat) esteja na condição inicial


1

Dê uma olhada nesta resposta , que discute o roteamento interno de HTTP por meio de chamadas diretas de Objective-C para um servidor da Web / camada da Web compatível com HTTP (vamos supor que o código do servidor HTTP esteja no mesmo aplicativo que deseja exibir o HTML em uma Web ferramenta).

Isso tem a vantagem de ser um pouco mais seguro (e possivelmente mais rápido), pois nenhuma porta deve ser exposta.


1

Se você seguir o caminho para acessar as Configurações de rede e obter o endereço IP Wi-Fi como xxx.xxx.x.xxx:9000 (: 9000 ou qualquer porta que estiver aberta), verifique se o dispositivo móvel também está no mesmo Wi-Fi -Fi / endereço IP do sinal. Passei um dia tentando fazer isso funcionar e não funcionou até desligar o telefone da rede celular para o mesmo endereço IP / conexão Wi-Fi. Aberto logo que fiz essa atualização.


Desativar dados móveis fez toda a diferença para mim. Obrigado!
Andy Stewart

1

Existe uma maneira muito simples de conseguir isso:

  1. Conecte seu telefone e computador na mesma LAN.
  2. Window + R, digite e ipconfig, em seguida, você obtém o seu ip atual do seu pc, assim: 192.168.XX.XX
  3. Digite este ip com a porta do aplicativo no navegador da web do telefone assim: http: //192.168.XX.XX: 8080 , ele funciona

Nota:

Se isso não funcionou. Desative o software antivírus no seu PC, se ainda não funcionar, tente desativar o firewall do Windows, pois o problema está relacionado ao firewall do PC.


1

Passos:

Presumo que você iniciou o servidor web (apache tomcat na porta padrão: 8080).

No Windows 10:

  1. Abra seu antivírus, vá para a seção firewall, localize a seção port e adicione uma porta TCP / IP local: 8080 para permitir o acesso
  2. obtenha o endereço IP da máquina no prompt de comando. (Endereço IPv4)
  3. Inicie o chrome no iPhone e vá para o endereço IP : endereço 8080.

Espero que isto ajude.


0

No meu iphone, eu queria navegar em um site hospedado no servidor IIS no meu laptop Windows 8. Após algumas leituras, abri o Firewall do Windows, selecione "Permitir um aplicativo ou recurso pelo firewall do Windows". Em seguida, role a página para baixo e marque "Serviços da World Wide Web (HTTP)" na lista. Isso é tudo, funcionou. Espero que ajude outra pessoa também.


0

No meu caso, primeiro conectei meu PC e celular na mesma rede, você pode executar ping no seu celular a partir do PC para testar a conexão.

Estou executando meu projeto com o GGTS (Groovy / Grails Tool Suite) localmente e acessando o site a partir do celular usando o endereço IP do PC e funciona muito bem.

PS. executando a partir do local, daria uma URL como ( http: // localhost: 8080 / projectname ) você deve substituir o localhost pelo endereço IP do PC se estiver tentando acessar o site local a partir do celular



0

Outra maneira rápida e suja de fazer isso em um mac é abrir o xcode (se você o tiver instalado) e executar o safari no seu simulador. Digitar localhostaqui também funcionará.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.