我正在尝试将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设置是针对每个用户进行的,并且代码在系统用户进程中执行。每台机器进行设置即可解决问题。
感谢所有回答过的人,我错失了重点。
答案 0 :(得分:1)
一旦使用WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY
,程序将根据系统和每个用户的设置来决定使用哪个代理。因此,可能未在您的代理设置中配置正确的Charles代理URL。
在使用WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY
之前,您应该指定Charles的代理URL。