¿Existe el archivo hosts en el iPhone? Cómo cambiarlo? [cerrado]


Estoy desarrollando una aplicación que consulta al servidor. En mi Mac, uso el archivo hosts para cambiar el dns para que apunte a un servidor local dentro de mi red de área local.

Ahora necesito probarlo con mi iPhone, el problema es que mi iPhone no reconoce ese servidor debido a la falta de configuración para dns.

En mi Mac o Windows, simplemente añado: 192.168.0.20 http://www.google.com al archivo hosts.

Ahora, ¿cómo le hago saber a mi iPhone la URL: http://www.google.com ?

Author: Blaszard, 2010-01-08

8 answers

Esto no responde directamente a su pregunta, pero resuelve su problema...

¿Qué marca de router tienes? El firmware de su router puede permitirle establecer registros DNS para su red local. Esto es lo que hago con el firmware Tomato

 34
Author: Andrew Bullock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-08 15:41:09

Otra opción aquí es tener su iPhone conectado a través de un proxy. Aquí hay un ejemplo de cómo hacerlo con Fiddler (es muy fácil):

Http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html

En ese caso, cualquier búsqueda de dns que haga su iPhone utilizará el archivo hosts de la máquina en la que Fiddler se está ejecutando. Tenga en cuenta, sin embargo, que debe usar un nombre que se resolverá a través de DNS. example.local, por ejemplo, no funcionará. example.xyz o example.dev ser.

 71
Author: stubotnik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-29 05:54:43

No está relacionado con la programación, pero responderé de todos modos. Está en /etc/hosts.

Puede cambiarlo con un editor de texto simple como nano.

(Obviamente se necesita un iphone jailbreak para esto)

 31
Author: Andreas Bonini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-08 15:34:21

Acabo de editar el archivo 'hosts' de mi iPhone con éxito (en iOS con Jailbreak 4.0).

  • Instalado OpenSSH en el iPhone a través de Cydia
  • Usando un cliente SFTP como FileZilla en mi computadora, me conecté a mi iPhone
    • Dirección: [use la dirección IP o el nombre de host de su teléfono, por ejemplo. simophone.local]
    • Nombre de usuario: root
    • Contraseña: alpine
  • Situado el /etc/hosts file
  • Hizo una copia de seguridad en mi computadora (en caso de que quiera revertir mis cambios más tarde)
  • Editó el archivo hostsen un editor de texto decente (como Notepad++). Vea aquí para una explicación del archivo hosts.
  • Subió los cambios , sobrescribiendo el archivo hosts en el iPhone

El teléfono almacena en caché algunas páginas web y consultas DNS, por lo que un reinicio o limpieza de la caché puede ayudar. Espero que eso ayude a alguien.

Simon.

 12
Author: Simon East,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-20 03:08:55

Puede existir, pero no se puede cambiar en un iPhone sin jailbreaked.

Asumiendo que su servidor web de desarrollo está en un Mac, ¿por qué no simplemente usa su nombre Bonjour (por ejemplo, MyMac.local.) en lugar de myrealwebserverontheinternet.com?

 6
Author: oefe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-08 15:37:10

En caso de que alguien más caiga en esta página, también puede resolver esto utilizando la dirección Ip en la solicitud de URL en lugar del dominio:

NSURL *myURL = [NSURL URLWithString:@"http://10.0.0.2/mypage.php"];

Luego se especifica el Host manualmente:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:myURL];
[request setAllHTTPHeaderFields:[NSDictionary dictionaryWithObjectAndKeys:@"myserver",@"Host"]];

En lo que respecta al servidor, se comportará exactamente de la misma manera que si hubiera utilizado http://myserver/mypage.php, excepto que el iPhone no tendrá que hacer una búsqueda de DNS.

API 100% pública.

 5
Author: ekscrypto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-10 15:07:53

No cambie el DNS en el teléfono. En su lugar, conéctese con wifi a la red local y estará listo.

En mi oficina, tenemos servidores internos con DNS interno que no están expuestos a Internet. Solo me conecto con el iPhone al wifi de la oficina y luego puedo acceder a ellos bien.

YMMV, pero en lugar de configurar el DNS del teléfono, me parece que solo configurar el DNS interno local y wifi es una solución más limpia y fácil.

 4
Author: Jaanus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-08 19:36:50

No, una aplicación para iPhone solo puede cambiar cosas dentro de su propio pequeño sandbox. (E incluso allí hay cosas que no se pueden cambiar sobre la marcha.)

Su mejor opción es probablemente usar la dirección IP del servidor en lugar del nombre de host. Un poco más difícil, pero no que difícil si solo necesita resolver una sola dirección, sería poner un servidor DNS en su Mac y configurar su iPhone para que lo use.

 1
Author: Stephen Darlington,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-08 15:37:22