1

基本上,我想为 URL 创建一个虚假的 DNS 条目,并强制该 URL 解析为特定的 IP。有没有办法在iOS中做到这一点不会让应用程序被拒绝?我似乎无法找到一种方法来做到这一点(仍然在第一方)。谁能指出我正确的方向(类参考、第三方框架等)?如果没有,是否有我忽略的规则/政策/其他东西使它不可能?

4

2 回答 2

3

您不能在 iOS 应用程序级别正式执行此操作,因为 DNS 是由操作系统设置的,并且由于 iOS 沙盒,您无法修改条目。这意味着如果您正在创建一个您将提交到 Apple App Store 的应用程序,这是不可能的。你可以在你自己的应用程序中构建一些东西,如果你有一些浏览器,你拦截 URL 并重定向它,但当然这将在你的应用程序中是本地的,而不是当用户使用 Mobile Safari 或 Chrome 等时。

如果您正在为越狱设备创建应用程序,您可以修改/etc/hosts文件并在此处添加您的条目

于 2012-09-27T21:45:50.133 回答
1

一个简单
的解决方案:假设你想 GET http://httpbin.org/get
你不想使用 domian,但使用 ip address 54.175.219.8
你可以发出请求,设置http://54.175.219.8/getpath,并添加一个新的 http 头:{“host”:“ httpbin.org"}。

通用解决方案:
实现自己的 NSURLProtocol,如https://github.com/mattt/NSEtcHosts

于 2016-02-29T05:19:54.147 回答