启用绕过代理服务器并通知 IE 进行更改

Posted

技术标签:

【中文标题】启用绕过代理服务器并通知 IE 进行更改【英文标题】:Enable bypass proxy server and notify IE for the change 【发布时间】:2018-12-07 14:32:55 【问题描述】:

我正在尝试使用 Internet Explorer 选项 API 根据此 example from Microsoft 设置 LAN 设置

我能够设置代理地址和例外,但我想启用Bypass proxy server for local addresses 复选框并通知 Internet Explorer 进行更改,这样我就不必关闭它并再次打开它。

我想我需要使用 INTERNET_PER_CONN_OPTION 结构中的另一个选项,但不知道应该使用什么。

这是我的代码:

#include <Windows.h>
#include <wininet.h>
#include <wchar.h>

#pragma comment(lib, "Wininet.lib")

int wmain(int argc, wchar_t * argv[])

    INTERNET_PER_CONN_OPTION_LIST connList;
    DWORD bufSize = sizeof(connList);

    connList.dwSize = sizeof(connList);
    connList.pszConnection = NULL; 
    connList.dwOptionCount = 3;
    connList.pOptions = (INTERNET_PER_CONN_OPTION*)malloc(sizeof(INTERNET_PER_CONN_OPTION) * 3);

    if (connList.pOptions == NULL)
    
        fwprintf(stderr, L"Memory allocation failed.\n");
        return 1;

    

    connList.pOptions[0].dwOption = INTERNET_PER_CONN_FLAGS;
    connList.pOptions[0].Value.dwValue = PROXY_TYPE_DIRECT |
        PROXY_TYPE_PROXY;

    connList.pOptions[1].dwOption = INTERNET_PER_CONN_PROXY_SERVER;
    connList.pOptions[1].Value.pszValue = L"https://internal.com.co:80";

    connList.pOptions[2].dwOption = INTERNET_PER_CONN_PROXY_BYPASS;
    connList.pOptions[2].Value.pszValue = L"local";

    BOOL internetOption;

    internetOption = InternetSetOptionW(NULL,
        INTERNET_OPTION_PER_CONNECTION_OPTION,
        &connList,
        bufSize);

    if (internetOption != TRUE)
    
        fwprintf(stderr, L"Faile to set the option with code: %u\n", GetLastError());
        return 1;
    

    free(connList.pOptions);

    wprintf(L"Done!\n");

    return 0;

你能帮帮我吗?

【问题讨论】:

【参考方案1】:

将包含&lt;&gt; 符号的字符串&lt;local&gt; 添加到例外列表中,例如&lt;local&gt;;*.microsoft.com.

【讨论】:

太棒了!你有什么想法通知 IE 在不重新打开的情况下进行更改吗? 我认为您应该在设置新值之前先重置代理设置(“PROXY_TYPE_DIRECT”)。

以上是关于启用绕过代理服务器并通知 IE 进行更改的主要内容,如果未能解决你的问题,请参考以下文章

SQL代理无法启动怎么办?

IE代理服务器设置

IE代理服务器设置

Nginx内容缓存

Loadrunner代理录制设置

怎样设置代理服务器