Существует ли файл 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
?
8 ответов
Это напрямую не отвечает на ваш вопрос, но это решает вашу проблему...
какой у Вас маршрутизатор? Прошивка маршрутизатора может позволить вам устанавливать 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).
- установлен OpenSSH на iPhone через Cydia
- С помощью клиент SFTP как программа filezilla на моем компьютере я подключился к своему 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 на телефоне. Вместо этого подключитесь с wifi к локальной сети, и все готово.
в моем офисе у нас есть внутренние серверы с внутренним DNS, которые не подвергаются воздействию Интернета. Я просто подключаюсь с iPhone к офисному wifi, а затем могу получить к ним доступ.
YMMV, но вместо настройки DNS телефона, мне кажется, что просто настройка локального внутреннего DNS и wifi является более чистым и простым решением.
нет, приложение iPhone может изменять только вещи в своей маленькой песочнице. (И даже там есть вещи, которые вы не можете изменить на лету.)
лучше всего, вероятно, использовать IP-адрес серверов, а не имя хоста. Немного сложнее, но не это трудно, если вам просто нужно решить один адрес, было бы поставить DNS-сервер на вашем Mac и настроить iPhone, чтобы использовать это.