Есть ли файл hosts на iPhone? Как его изменить?
Я разрабатываю приложение, которое запрашивает сервер. На моем Mac я использую файл hosts для изменения dns, чтобы указать на локальный сервер в локальной локальной сети.
Теперь мне нужно протестировать его с помощью iPhone, проблема в том, что мой iPhone не распознает этот сервер из-за отсутствия конфигурации для dns.
На моем Mac или Windows я просто добавляю: 192.168.0.20 http://www.google.com
в файл hosts.
Теперь, как я могу сообщить своему iPhone о URL-адресе: http://www.google.com
Ответы
Ответ 1
Это не отвечает на ваш вопрос напрямую, но это решает вашу проблему...
Что делает маршрутизатор у вас? Прошивка вашего маршрутизатора может позволить вам установить записи DNS для вашей локальной сети. Это то, что я делаю с прошивкой Tomato
Ответ 2
Другим вариантом здесь является подключение вашего iPhone через прокси. Вот пример того, как это сделать с Fiddler (это очень просто):
http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html
В этом случае любые запросы DNS, которые ваш iPhone делает, будут использовать файл хостов машины Fiddler. Примечание, однако, вы должны использовать имя, которое будет разрешено через DNS. example.local
, например, не будет работать. example.xyz
или example.dev
будет.
Ответ 3
Не связано с программированием, но я все равно отвечу. Он находится в /etc/hosts
.
Вы можете изменить его с помощью простого текстового редактора, такого как nano
.
(Очевидно, для этого вам понадобится jailbroken iphone)
Ответ 4
Я только что удалил файл моего хоста iOS (на Jailbroken iOS 4.0).
- Установлен OpenSSH на iPhone через Cydia
- Используя SFTP-клиент, например FileZilla на моем компьютере, я подключился к своему iPhone
- Адрес: [используйте IP-адрес вашего телефона или имя хоста, например.
simophone.local
]
- Имя пользователя:
root
- Пароль:
alpine
- Расположен файл
/etc/hosts
- Создал резервную копию на моем компьютере (в случае, если я хочу позже изменить мои изменения)
- Отредактирован файл хостов в достойном текстовом редакторе (например, Notepad ++). См. здесь для объяснения файла hosts.
- Загрузили изменения, перезаписав файл hosts на iPhone
Телефон кэширует некоторые веб-страницы и DNS-запросы, поэтому может помочь перезагрузка или очистка кеша. Надежда, которая помогает кому-то.
Саймон.
Ответ 5
Он может существовать, но вы не можете изменить его на iPhone, не прошедшем джейлбрейк.
Предполагая, что ваш веб-сервер разработки находится на Mac, почему бы вам просто не использовать его имя Bonjour (например, MyMac.local.
) вместо myrealwebserverontheinternet.com
?
Ответ 6
В случае, если на эту страницу попадает кто-либо еще, вы также можете решить эту проблему, используя адрес Ip в URL-адресе вместо домена:
NSURL *myURL = [NSURL URLWithString:@"http://10.0.0.2/mypage.php"];
Затем вы указываете Host вручную:
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:myURL];
[request setAllHTTPHeaderFields:[NSDictionary dictionaryWithObjectAndKeys:@"myserver",@"Host"]];
Что касается сервера, он будет вести себя точно так же, как если бы вы использовали http://myserver/mypage.php
, за исключением того, что iPhone не должен будет выполнять поиск DNS.
100% открытый API.
Ответ 7
Не меняйте DNS на телефоне. Вместо этого подключитесь к Wi-Fi в локальной сети, и все будет установлено.
В моем офисе у нас есть внутренние серверы с внутренними DNS, которые не имеют доступа к Интернету. Я просто подключаюсь к iPhone в офис Wi-Fi и могу получить к ним доступ.
YMMV, но вместо того, чтобы настраивать DNS-телефон, мне кажется, что просто настройка локального внутреннего DNS и wifi является более простым и простым решением.
Ответ 8
Нет, приложение для iPhone может только изменить материал в своей маленькой песочнице. (И даже там есть вещи, которые вы не можете изменить на лету.)
Лучше всего, вероятно, использовать IP-адрес серверов, а не имя хоста. Чуть тяжелее, но не так сложно, если вам просто нужно решить один адрес, нужно было бы разместить DNS-сервер на вашем Mac и настроить iPhone для использования.