加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 07:45:21 所属栏目:百科 来源:网络整理
导读:嗨,我需要以编程方式设置IE的代理地址 早些时候我曾经使用过这个RedTomahawk.TORActivator 但它没有提供设置需要用户名和密码的代理的选项. 我们如何设置需要用户名和密码的代理 请提供类似的示例 void Setproxy(string ip,string port,string uname,string
嗨,我需要以编程方式设置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");
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读