Winapi 为什么WinHttpOpen与WINHTTP\u ACCESS\u TYPE\u AUTOMATIC\u代理会绕过Charles代理?

Winapi 为什么WinHttpOpen与WINHTTP\u ACCESS\u TYPE\u AUTOMATIC\u代理会绕过Charles代理?,winapi,charles-proxy,winhttprequest,Winapi,Charles Proxy,Winhttprequest,我正在尝试将WinHTTP与Charles代理一起使用。当我使用WINHTTP\u ACCESS\u TYPE\u NAMED\u PROXY选项和Charles的URL时,它会记录通过它的流量。当我使用WINHTTP\u ACCESS\u TYPE\u AUTOMATIC\u代理时,连接可以工作,但Charles不会记录,它会被绕过 问题是我做错了什么 最初,Charles将Edge的代理设置配置为手动,并使用其地址。我把它改成自动的,没用 我用的电话是 HINTERNET session =

我正在尝试将WinHTTP与Charles代理一起使用。当我使用WINHTTP\u ACCESS\u TYPE\u NAMED\u PROXY选项和Charles的URL时,它会记录通过它的流量。当我使用WINHTTP\u ACCESS\u TYPE\u AUTOMATIC\u代理时,连接可以工作,但Charles不会记录,它会被绕过

问题是我做错了什么

最初,Charles将Edge的代理设置配置为手动,并使用其地址。我把它改成自动的,没用

我用的电话是

HINTERNET session = WinHttpOpen(nullptr, WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, WINHTTP_FLAG_ASYNC);
会话获取有效值

我希望流量通过Charles proxy,并被它记录下来


答案发现:Charles设置是按用户进行的,代码在系统用户进程中执行。对每台机器进行设置解决了问题


感谢所有回答我的问题的人,我的错在于没有抓住要点。

一旦您使用
WINHTTP\u ACCESS\u TYPE\u AUTOMATIC\u PROXY
,程序将根据系统和每个用户的设置决定使用哪个代理。因此,可能无法在代理设置中配置正确的代理URL

在使用
WINHTTP\u ACCESS\u TYPE\u AUTOMATIC\u proxy
之前,您应该指定Charles的代理URL

  • 点击开始菜单
  • 选择设置->网络和互联网->代理
  • 在手动代理设置中填写代理地址

  • Windows版本?在VirtualBox中运行的Windows 10 Enterprise。如果有任何问题,Charles v4.2.8如果将其设置为同步:
    HINTERNET session=WinHttpOpen(nullptr,WINHTTP\u访问类型自动代理,WINHTTP\u无代理名称,WINHTTP\u无代理旁路,NULL)?谢谢您的回复。Charles已自动填写手动代理设置,将“使用代理服务器”设置为on,地址设置为http=127.0.0.1:8888;https=127.0.0.1:8888不过,当我使用WINHTTP\u ACCESS\u TYPE\u AUTOMATIC\u PROXY时,Charles不会记录来自我应用程序的流量