【发布时间】:2011-12-18 01:19:08
【问题描述】:
我有一个 VPN 连接,我正在使用 Charles Web 调试代理测试一些网站,但 Charles 似乎没有检测到我的 VPN 连接,因为它没有检测到我在 VPN 网络上运行的网站.请问有什么帮助吗?
谢谢
【问题讨论】:
标签: debugging testing proxy charles-proxy
我有一个 VPN 连接,我正在使用 Charles Web 调试代理测试一些网站,但 Charles 似乎没有检测到我的 VPN 连接,因为它没有检测到我在 VPN 网络上运行的网站.请问有什么帮助吗?
谢谢
【问题讨论】:
标签: debugging testing proxy charles-proxy
在连接到您的 vpn 之前启动 Charles。 http://www.charlesproxy.com/documentation/faqs/vpn-not-working-with-charles/
【讨论】:
我在我的 Mac 上遇到了同样的问题,但能够解决它。基本上在连接到 VPN 之后,Charles 将停止记录所有 http 流量,无论它是在 VPN 连接建立之前还是之后启动的
问题在于系统级别的自动代理配置。
我在“系统偏好设置”>“网络设置”>“你的网络”>“高级”中打开了“自动代理配置”和“自动代理配置”
我无法通过 UI 关闭它们,因为它们被 VPN 机器上的公司政策禁用/灰显,但我能够从终端运行 2 个 shell 命令,尽管在启动 Charles 和在连接到 VPN 之前(我想您需要对您的帐户进行管理员访问才能运行这些)。
networksetup -setautoproxystate Wi-Fi off
networksetup -setproxyautodiscovery Wi-Fi off
Wi-Fi 恰好是我正在运行的网络接口的名称。如果你是硬连线,你的可能是以太网。
这基本上取消了网络设置中的两个选项,使自动代理的 URL 保持不变。如果您可以通过 UI 取消选中这两个复选框 - 那就更好了。
到目前为止很棒,但您还没有完成!
您需要找出公司代理的真实 IP 地址,然后在 Charles 的外部代理设置下输入它。您的 VPN 配置可能指向外部配置文件。当您取消选中“自动代理配置”时,配置的 URL 应显示在“代理配置文件”文本框中。下载该文件,找到代理设置,然后在 Charles 的外部代理设置中输入这些设置。
瞧 - 启动 Charles,启动 VPN - 即使我在 VPN 上,所有 HTTP 流量都流经 Charles - 这正是我所需要的。
希望这会有所帮助,并且您正在 MAC 上运行它:)
【讨论】:
.pac 文件相当复杂和其中的动态逻辑,这使得无法找到代理设置。有没有办法用.pac 将Charles 指向URL,然后执行FindProxyForURL 函数并即时找出正确的代理?
.pac 也很复杂,我花了一段时间才弄清楚我必须使用哪些设置。
使用 Chrome 和 Viscosity 作为我的 VPN 客户端,当 VPN 连接时,我无法从 Chrome 获得任何流量通过 Charles。
我的解决方案是使用 Firefox。这可能是因为 Firefox 建立了自己的代理连接(因此有自己的代理设置),而 Chrome 和 Safari 遵循 MacOS 来建立 HTTP 连接。
【讨论】:
Go to Charles, open Proxy menu, select `Mozilla Firefox Proxy 太好了,不再需要打开和关闭 VPN 来测试代码更改!
粘度:
添加这个
dhcp-option HTTPPROXY 127.0.0.1:8888
dhcp-option HTTPSPROXY 127.0.0.1:8888
在“高级”选项卡下的连接设置中。
Charles 现在将使用 Viscosity :)
【讨论】:
我设法让 Charles 使用我的 VPN 进行以下设置:
它应该在 VPN 和 Charles 运行之前工作。 重新启动 VPN 或 Charles 后,您可以再次更改设置。 不是最好的解决方案,但至少它有效。
【讨论】:
查尔斯代理+隧道熊
1. run Charles
2. Charles -> Proxy -> MacOS Proxy
3. Charles -> Stop Recording
4. Charles -> Stop SSL Proxying
5. run Tunnel Bear
6. Charles -> Start Recording
7. Charles -> Start SSL Proxying
【讨论】: