代理认证错误
本文关键字:错误 认证 代理 | 更新日期: 2023-09-27 18:15:33
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("https://www.example.com");
NetworkCredential nc = new NetworkCredential("myname", "mypass");
WebProxy myproxy = new WebProxy("192.168.1.1:8080", false);
myHttpWebRequest.Proxy = myproxy;
myHttpWebRequest.Proxy = WebRequest.DefaultWebProxy;
myHttpWebRequest.Method = "GET";
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
MessageBox.Show("Ok");
我使用这个代码来连接一个网站(c# .net桌面应用程序)。但是我有这个错误信息:
远程服务器返回错误:(407)Proxy Authentication Required.
我怎么能解决这个问题?
您目前没有在代理中使用凭据。以下是一个来自MSDN的示例,介绍如何使用NetworkCredential
:
class Downloader
{
static void Main(string[] args)
{
NetworkCredential nc = new NetworkCredential(args[0], args[1]);
WebProxy proxy = new WebProxy(args[2], false);
proxy.Credentials = nc;
WebRequest request = new WebRequest(args[3]);
request.Proxy = proxy;
using (WebResponse response = request.GetResponse())
{
Console.WriteLine(
@"{0} - {1} bytes",
response.ContentType,
response.ContentLength);
}
}
}
当我编译并运行这个完整的示例时:
C:'cs>csc proxy.cs
Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.
C:'cs>proxy user pass http://proxy:80 http://www.google.com
text/html; charset=ISO-8859-1 - 31398 bytes
C:'cs>
当然我用的是我实际的user/pass和proxy作为我的工作帐户