iPhone上是否存在hosts文件?怎么改呢?

时间:2010-01-08 15:27:16

标签: iphone dns hosts-file

我正在开发一个查询服务器的应用程序。在我的Mac中,我使用hosts文件将dns更改为指向本地区域网络中的本地服务器。

现在我需要用我的iPhone进行测试,问题是由于dns缺少配置,我的iPhone无法识别该服务器。

在我的Mac或Windows上,我只需将192.168.0.20 http://www.google.com添加到主机文件中。

现在我如何让我的iPhone知道网址:http://www.google.com

8 个答案:

答案 0 :(得分:73)

此处的另一个选择是通过代理连接iPhone。这是一个如何用Fiddler做的例子(非常简单):

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

在这种情况下,任何dns查找你的iPhone都会使用Fiddler正在运行的机器的hosts文件。但是,注意,您必须使用将通过DNS解析的名称。例如,example.local将不起作用。 example.xyzexample.dev会。

答案 1 :(得分:34)

这并没有直接回答你的问题,但它确实解决了你的问题......

你有什么样的路由器?您的路由器固件可能允许您为本地网络设置DNS记录。这就是我对Tomato firmware

的处理方式

答案 2 :(得分:31)

没有编程相关,但无论如何我都会回答。它位于/etc/hosts

您可以使用简单的文本编辑器(例如nano

)进行更改

(显然你需要一个越狱的iphone)

答案 3 :(得分:13)

我刚刚成功编辑了iPhone的'hosts'文件(在Jailbroken iOS 4.0上)。

  • 通过Cydia将 OpenSSH 安装到iPhone上
  • 在我的计算机上使用 SFTP客户端,例如FileZilla,我已连接到iPhone
    • 地址: [使用手机的IP地址或主机名,例如。 simophone.local]
    • 用户名:root
    • 密码:alpine
  • 找到 /etc/hosts 文件
  • 在我的计算机上进行备份(如果我想稍后恢复我的更改)
  • 在体面的文本编辑器(例如Notepad++)中编辑了主机文件。有关hosts文件的说明,请参阅here
  • 上传更改,覆盖iPhone上的主机文件

手机会缓存一些网页和DNS查询,因此重启或清除缓存可能有所帮助。希望有所帮助。

<强>西蒙。

答案 4 :(得分:6)

它可能存在,但您无法在非越狱的iPhone上更改它。

假设您的开发网络服务器位于Mac上,为什么不简单地使用其Bonjour名称(例如MyMac.local.)而不是myrealwebserverontheinternet.com

答案 5 :(得分:5)

如果有其他人进入此页面,您也可以使用URL请求中的IP地址而不是域来解决此问题:

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。

答案 6 :(得分:4)

请勿更改手机上的DNS。相反,将wifi连接到本地网络就可以了。

在我的办公室,我们有内部服务器,内部DNS没有暴露在互联网上。我只是将iPhone连接到办公室wifi,然后可以正常访问它们。

YMMV,但不是配置手机DNS,我觉得只设置本地内部DNS和wifi是一种更简洁的解决方案。

答案 7 :(得分:1)

不,iPhone应用程序只能在自己的小沙箱中更改内容。 (甚至有些东西你无法动态改变。)

您最好的选择可能是使用服务器IP地址而不是主机名。如果你只需要解析一个地址,那就更难了,但很难,就是在你的Mac上安装DNS服务器并配置你的iPhone使用它。