iPhone上是否存在hosts文件?如何改变呢?[关闭]
-
19-09-2019 - |
题
我正在开发一个查询服务器的应用程序。在我的 Mac 中,我使用主机文件更改 dns 以指向局域网内的本地服务器。
现在我需要用我的 iPhone 进行测试,问题是我的 iPhone 由于缺少 dns 配置而无法识别该服务器。
在我的 Mac 或 Windows 上,我只需添加: 192.168.0.20 http://www.google.com
到主机文件。
现在我如何让我的 iPhone 知道 URL: http://www.google.com
?
解决方案
这并不直接回答你的问题,但它确实解决您的问题...
什么使路由器的,你呢?您的路由器固件可以允许您为您的本地网络设置DNS记录。这是我做的番茄固件
其他提示
另一个选择是让你的iPhone通过代理服务器连接。这里的(这是很容易的)的如何使用Fiddler做到这一点的示例:
http://conceptdev.blogspot.com/ 2009/01 /监视iphone的web流量-with.html
在这种情况下,任何DNS查询您的iPhone并会使用Fiddler正在运行的机器的主机文件。 注意下,虽然,你必须使用将通过DNS解析的名称。 example.local
,例如,将无法正常工作。 example.xyz
或example.dev
意愿。
而不是编程相关的,但无论如何,我会回答。它在/etc/hosts
。
可以用一个简单的文本编辑器改变它如nano
。
(很明显,你将需要为这个越狱iphone)
我刚刚成功编辑了 iPhone 的“hosts”文件(在越狱的 iOS 4.0 上)。
- 已安装 开放SSH 通过 Cydia 到 iPhone
- 用一个 SFTP客户端 喜欢 文件齐拉 在我的电脑上,我连接到了我的 iPhone
- 地址: [使用您手机的 IP 地址或主机名,例如。
simophone.local
] - 用户名:
root
- 密码:
alpine
- 地址: [使用您手机的 IP 地址或主机名,例如。
- 位于
/etc/hosts
文件 - 做了一个 备份 在我的计算机上(以防我稍后想恢复更改)
- 编辑了hosts文件 在一个像样的文本编辑器中(例如 记事本++)。看 这里 有关主机文件的说明。
- 已上传更改, ,覆盖iPhone上的hosts文件
手机确实会缓存一些网页和 DNS 查询,因此重新启动或清除缓存可能会有所帮助。希望对某人有帮助。
西蒙.
它可能存在,但您无法在未越狱的 iPhone 上更改它。
假设您的开发网络服务器位于 Mac 上,为什么不简单地使用它的 Bonjour 名称(例如 MyMac.local.
) 代替 myrealwebserverontheinternet.com
?
在的情况下其他人落到这个页面,也可以通过在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。
不要更改手机上的DNS。相反,带wifi连接到本地网络和你都设置。
在我的办公室,我们有与没有暴露于Internet的内部DNS内部服务器。我只是与iPhone连接到办公室的WiFi,然后可以访问它们的罚款。
因人而异,但代替配置手机DNS,感觉对我来说,只是建立本地内部DNS和WiFi是一个更清洁,更方便的解决方案。
没有,一个iPhone应用程序只能在其自己的小沙箱中更改的东西。 (甚至还有有一些事情,你不能动态更改。)
您最好的选择可能是使用的服务器IP地址,而不是主机名。稍微硬一点,但不是的是的硬盘,如果你只需要解决一个地址,将是把你的Mac上的DNS服务器和配置您的iPhone使用的。