【发布时间】:2019-04-14 13:04:15
【问题描述】:
我正在尝试将 WinHTTP 与 Charles 代理一起使用。当我使用 WINHTTP_ACCESS_TYPE_NAMED_PROXY 选项和指向 Charles 的 URL 时,它会记录通过它的流量。当我使用 WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY 时,连接有效,但 Charles 没有记录 - 它被绕过了。
问题是我做错了什么?
最初,Charles 使用其地址将 Edge 的代理设置配置为手动。我已经把它改成自动了,没有用。
我使用的电话是
HINTERNET session = WinHttpOpen(nullptr, WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, WINHTTP_FLAG_ASYNC);
会话获得一个有效值。
我希望流量通过 Charles 代理,并被它记录。
已找到答案:Charles 设置是按用户进行的,并且代码在系统用户进程中执行。对每台机器进行设置解决了这个问题。
感谢所有回答的人,我错过了重点。
【问题讨论】:
-
Windows 版本?
-
在 VirtualBox 中运行的 Windows 10 企业版。如果重要的话,Charles v4.2.8
-
如果你将它设置为同步会发生什么:
HINTERNET session = WinHttpOpen(nullptr, WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, NULL);?
标签: winapi charles-proxy winhttprequest