c#httpclient 代理_c# – HttpClient并使用代理 – 不断获得407

您正在将代理凭据设置在错误的位置.

httpClientHandler.Credentials是代理已经建立连接后给予服务器的凭据.如果你错了,你可能会得到401或403的答复.

您需要设置给代理的凭据,否则首先将拒绝将其连接到服务器.您提供给代理的凭据可能与您提供给服务器的凭据不同.如果你错了,你会得到一个407的回应.你得到一个407,因为你根本不设置这些.

// First create a proxy object

string proxyUri =

string.Format("{0}:{1}", proxyServerSettings.Address, proxyServerSettings.Port);

NetworkCredential proxyCreds = new NetworkCredential(

proxyServerSettings.UserName,

proxyServerSettings.Password

);

WebProxy proxy = new WebProxy(proxyUri, false)

{

UseDefaultCredentials = false,

Credentials = proxyCreds,

};

// Now create a client handler which uses that proxy

HttpClient client = null;

HttpClientHandler httpClientHandler = new HttpClientHandler()

{

Proxy = proxy,

PreAuthenticate = true,

UseDefaultCredentials = false,

};

// You only need this part if the server wants a username and password:

string

httpUserName = "?????",

httpPassword = "secret";

httpClientHandler.Credentials = new NetworkCredential(httpUserName, httpPassword);

client = new HttpClient(httpClientHandler);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值