如何使用公司代理为 iOS 模拟器设置 Charles 代理

Posted

技术标签:

【中文标题】如何使用公司代理为 iOS 模拟器设置 Charles 代理【英文标题】:How to set up Charles proxy for iOS simulator with corporate proxy 【发布时间】:2014-09-09 05:57:28 【问题描述】:

我们正在使用 charles 开发 ios 应用,但最近公司使用了这样的自动代理配置

http://ourproxy.com:8181

每个人都需要从连接配置中进行设置。这样会导致 Charles 无法读取 http 连接。

那么如何设置 Charles 代理以使其能够监控正在运行的模拟器应用程序呢?

【问题讨论】:

【参考方案1】:

也许您需要一份贵公司 pac 文件的副本,只需添加您的模拟器应用请求域的条件即可。例如,新建 pac 文件:

function FindProxyForURL(url, host) 
    if (isPlainHostName(host)
    || dnsDomainIs(host, "simulator_requested_domain.com")
    || false) 
        return "PROXY 127.0.0.1:8888";   // proxy to Charles port.
     else 
        // you may need to copy your company's conditions
        return "PROXY your_company_proxy.com:8181";
    

然后,将此文件上传到本地或远程http服务器,并将网络的自动代理配置设置为该pac文件的url。

由于 macosx 的沙盒策略,浏览器或其他 APP 无法访问本地 pac 文件,因此需要将 pac 放到基于“http://”的路径。

【讨论】:

感谢您的回答。但问题是我们不能要求公司改变这些事情,因为它是一家巨大的公司,他们不想冒着我们卑微的要求改变的风险。所以只是想知道任何其他解决方案而不要求他们的改变。再次感谢。 alt,不需要你做任何更改,只需将本地网络配置设置为 charles pac 代理,然后在 Charles.app 中设置代理设置“工具栏->设置->外部代理设置->使用外部代理服务器”,请在此处输入您公司的代理服务器/端口。

以上是关于如何使用公司代理为 iOS 模拟器设置 Charles 代理的主要内容,如果未能解决你的问题,请参考以下文章

iOS 8 / Xcode 6 模拟器不再使用 HTTP 代理

Android模拟器(emulator)设置代理

如何从 Bamboo 代理脚本成功运行 iOS 模拟器

如何设置http代理上ftp并且可以上传?

fiddler对模拟器的设置

如何设置代理服务器,从网内访问网外SAP服务器