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