C# Задаем прокси с логин паролем ( Credentials) для .NET приложения

Этот способ пробовал,работает точно


WebProxy wproxy = new WebProxy("new proxy",true);
wproxy.Credentials = new NetworkCredential("user", "pass");

WebRequest.DefaultWebProxy = wproxy;
И в конфиг

  <system.net>
    <defaultProxy
      useDefaultCredentials="true" >
    </defaultProxy>
  </system.net>

Ниже способ не пробовал но по виду должен работать

Create an assembly called SomeAssembly.dll with this class :
namespace SomeNameSpace
{
    public class MyProxy : IWebProxy
    {
        public ICredentials Credentials
        {
            get { return new NetworkCredential("user", "password"); }
            //or get { return new NetworkCredential("user", "password","domain"); }
            set { }
        }

        public Uri GetProxy(Uri destination)
        {
            return new Uri("http://my.proxy:8080");
        }

        public bool IsBypassed(Uri host)
        {
            return false;
        }
    }
}

Add this to your config file :
<defaultProxy enabled="true" useDefaultCredentials="false">
  <module type = "SomeNameSpace.MyProxy, SomeAssembly" />
</defaultProxy>

No comments:

Post a Comment