我正在尝试通过.net core 2.0 Web应用程序中的WebProxy发出HTTP请求.我在.net框架中得到的代码工作正常,所以我知道(相信)它不是一个环境问题.我也尝试使用两者来发出请求HttpWebRequest,HttpClient但这两种机制总是导致.net核心中的407(需要代理身份验证)http错误.它好像在.net核心中,我提供的凭据总是被忽略.
这是我一直在使用的代码:
public void Test()
{
var cred = new NetworkCredential("xxxxx", "yyyyyy");
var proxyURI = new Uri("http://xxx.xxx.xxx.xxx:80");
var destinationURI = new Uri("http://www.bbc.co.uk");
WebProxy proxy = new WebProxy(proxyURI, false) { UseDefaultCredentials = false, Credentials = cred };
MakeProxyRequestViaHttpWebRequest(proxy, destinationURI);
MakeProxyRequestViaHttpClient(proxy, destinationURI);
}
private void MakeProxyRequestViaHttpClient(WebProxy proxy, Uri destination)
{
HttpClientHandler handler = new HttpClientHandler()
{
Proxy = proxy,
UseProxy = true,
PreAuthenticate = true,
UseDefaultCredentials = false
};
HttpClient client = new HttpClient(handler);
HttpResponseMessage …Run Code Online (Sandbox Code Playgroud)