• C# WebBrowser 设置独立的代理


    近期需要对webbrower设置代理,找到了如下方案:

    1.

    对修改注册表,设置全局代理

    这种方法限制在一个进程内只能设置或取消代理,而且是全局代理,对于部分不需要代理对功能会产生影响

    2.

    通过函数InternetSetOption实现修改当前程序中的WebBrowser设置

     1 static class WebBrowserProxy
     2  
     3 {
     4  
     5     struct Struct_INTERNET_PROXY_INFO
     6  
     7     {
     8  
     9         public int dwAccessType;
    10  
    11         public IntPtr proxy;
    12  
    13         public IntPtr proxyBypass;
    14  
    15     };
    16  
    17  
    18  
    19     [DllImport("wininet.dll", SetLastError = true)]
    20  
    21     static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer,int lpdwBufferLength);
    22  
    23  
    24  
    25     public static void SetProxy(string strProxy = "127.0.0.1:8888")
    26  
    27     {
    28  
    29         const int INTERNET_OPTION_PROXY = 38;
    30  
    31         const int INTERNET_OPEN_TYPE_PROXY = 3;
    32  
    33  
    34  
    35         Struct_INTERNET_PROXY_INFO struct_IPI;
    36  
    37  
    38  
    39         // Filling in structure
    40   
    41        struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
    42  
    43         struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy);
    44  
    45         struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local");
    46  
    47  
    48  
    49         // Allocating memory
    50  
    51         IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI));
    52  
    53  
    54  
    55         // Converting structure to IntPtr
    56  
    57         Marshal.StructureToPtr(struct_IPI, intptrStruct, true);
    58  
    59         bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI));
    60  
    61     }
    62  
    63 }

    参考来源“https://blog.csdn.net/gold0523/article/details/38666701”

  • 相关阅读:
    MySql 学习之 一条更新sql的执行过程
    MySql 学习之 一条查询sql的执行过程
    VUE基本介绍
    ESMAScript6基本介绍
    npm
    tensorflow2.0 评估函数
    网页引入mathjax,latex
    Veno File Manager
    tensorflow 测量工具,与自定义训练
    tensorflow自定义网络结构
  • 原文地址:https://www.cnblogs.com/yishilin/p/9513207.html
Copyright © 2020-2023  润新知