嗨,我需要以编程方式设置IE的代理地址
早些时候我曾经使用过这个RedTomahawk.TORActivator
但它没有提供设置需要用户名和密码的代理的选项.
我们如何设置需要用户名和密码的代理
请提供类似的示例
void Setproxy(string ip,string port,string uname,string pwd)
{
///代码在这里
}
解决方法
你可以P / Invoke
WinHttpSetDefaultProxyConfiguration功能.
更新:
包括要求的示例:
- [StructLayout(LayoutKind.Sequential,CharSet = CharSet.Unicode)]
- public struct WINHTTP_PROXY_INFO
- {
- public AccessType AccessType;
- public string Proxy;
- public string Bypass;
- }
- public enum AccessType
- {
- DefaultProxy = 0,NamedProxy = 3,NoProxy = 1
- }
- class Program
- {
- [DllImport("winhttp.dll",CharSet = CharSet.Unicode,SetLastError = true)]
- public static extern bool WinHttpSetDefaultProxyConfiguration(ref WINHTTP_PROXY_INFO config);
- static void Main()
- {
- var config = new WINHTTP_PROXY_INFO();
- config.AccessType = AccessType.NamedProxy;
- config.Proxy = "http://proxy.yourcompany.com:8080";
- config.Bypass = "intranet.com";
- var result = WinHttpSetDefaultProxyConfiguration(ref config);
- if (!result)
- {
- throw new Win32Exception(Marshal.GetLastWin32Error());
- }
- else
- {
- Console.WriteLine("Successfully modified proxy settings");
- }
- }
- }