以编程方式设置代理地址,端口,用户名,密码

时间:2010-11-24 09:51:38

标签: c# .net proxy

您好我需要以编程方式设置IE的代理地址

早些时候我曾经使用这个RedTomahawk.TORActivator 但它没有提供设置需要用户名和密码的代理的选项。

我们如何设置需要用户名和密码的代理

请提供

等示例

void Setproxy(string ip,string port,string uname,string pwd) { ///Code here }

1 个答案:

答案 0 :(得分:4)

您可以P /调用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");
        }
    }
}