嗨,我需要以编程方式设置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");
}
}
}