我正在尝试使用 XCode 6.1 和 iOS Simulator 8.1 使用 Charles 和我的本地主机 apache 服务器检查 http(非 SSL)流量。
我已经让 Charles 正常工作,但它只在我使用我的本地网络 IP 地址时捕获流量:192.168.1.X
作为 iOS 中请求的目标主机。
我已经尝试了 Charles 文章 here 中的其他建议, 但除了本地网络 IP 地址外,没有任何工作。
“为什么不直接使用本地网络 IP?”,你会问?好吧,我想避免使用 YASCE(又一个源代码控制异常(exception))。你看,我的源代码在网络部分有这个:
#if DEBUG
var API_HOST = "http://localhost"
#else
var API_HOST = "https://website.com"
#endif
我不想强制团队中的每个开发人员不断做出特殊考虑,以避免每次提交源代码控制时都检查自己的个人 IP 地址。
是否有其他方法可以说服 iOS 模拟器通过 Charles 传递 http://localhost
,或者是否有更好的方法来与开发团队一起处理特定于环境的设置?
最佳答案
使用 localhost.charlesproxy.com
而不是 localhost
。这是在 charlesproxy.com DNS 上设置为指向 127.0.0.1,并且始终如此。因为它不是字面上的 localhost
,所以它应该绕过操作系统的 localhost
硬连线逻辑。
也可以使用 local.charles
,但前提是 Charles 确实在运行并且您将其用作代理。所以我更喜欢 localhost.charlesproxy.com
解决方案。
我也会更新那个 FAQ。
关于ios - Xcode Charles(HTTP 代理)不捕获本地主机流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27160499/