源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

webBrowser代理设置c#代码

  • 时间:2022-08-18 12:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:webBrowser代理设置c#代码
为webBrowser设置代理:
[u]复制代码[/u] 代码如下:
public struct Struct_INTERNET_PROXY_INFO { public int dwAccessType; public IntPtr proxy; public IntPtr proxyBypass; }; [DllImport("wininet.dll", SetLastError = true)] private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength); private void RefreshIESettings(string strProxy)//strProxy为代理IP:端口 { const int INTERNET_OPTION_PROXY = 38; const int INTERNET_OPEN_TYPE_PROXY = 3; const int INTERNET_OPEN_TYPE_DIRECT = 1; Struct_INTERNET_PROXY_INFO struct_IPI; // Filling in structure struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY; struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy); struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local"); // Allocating memory IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI)); if (string.IsNullOrEmpty(strProxy) || strProxy.Trim().Length == 0) { strProxy = string.Empty; struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_DIRECT; } // Converting structure to IntPtr Marshal.StructureToPtr(struct_IPI, intptrStruct, true); bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI)); } 使用:RefreshIESettings("xxx.xxx.xxx.xxx:xx"); 完美方法: /*完整解析 public class IEProxy { private const int INTERNET_OPTION_PROXY = 38; private const int INTERNET_OPEN_TYPE_PROXY = 3; private const int INTERNET_OPEN_TYPE_DIRECT = 1; private string ProxyStr; [DllImport("wininet.dll", SetLastError = true)] private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength); public struct Struct_INTERNET_PROXY_INFO { public int dwAccessType; public IntPtr proxy; public IntPtr proxyBypass; } private bool InternetSetOption(string strProxy) { int bufferLength; IntPtr intptrStruct; Struct_INTERNET_PROXY_INFO struct_IPI; if (string.IsNullOrEmpty(strProxy) || strProxy.Trim().Length == 0) { strProxy = string.Empty; struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_DIRECT; } else { struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY; } struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy); struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local"); bufferLength = Marshal.SizeOf(struct_IPI); intptrStruct = Marshal.AllocCoTaskMem(bufferLength); Marshal.StructureToPtr(struct_IPI, intptrStruct, true); return InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, bufferLength); } public IEProxy(string strProxy) { this.ProxyStr = strProxy; } //设置代理 public bool RefreshIESettings() { return InternetSetOption(this.ProxyStr); } //取消代理 public bool DisableIEProxy() { return InternetSetOption(string.Empty); } } */
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部