Существует ли файл hosts на iPhone?Как это изменить?[закрыто]

StackOverflow https://stackoverflow.com/questions/2028544

  •  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
  • Расположенный в /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 на его использование.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top