Web请求错误407需要代理身份验证

本文关键字:代理 身份验证 请求 错误 Web | 更新日期: 2023-09-27 18:12:23

尝试从网站获取响应;

using System.Text;
using System.Net;
using System.IO;
namespace DutyPharmacy751013
{
class Program
{
    static void Main(string[] args)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.google.com/");
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Encoding encoding = Encoding.GetEncoding(response.CharacterSet);
        Stream stream = response.GetResponseStream();
        StreamReader reader = new StreamReader(stream, encoding);
        string responseText= reader.ReadToEnd();
    }
}
}

此代码适用于win7和LAN以及在win8和任何无线连接上但在win8和局域网上不起作用错误:407需要代理身份验证。有什么解决办法吗。谢谢

Web请求错误407需要代理身份验证

尝试添加代理凭据以请求并提供网络凭据

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.google.com/");
request.Credentials = new NetworkCredential("username", "pw");
WebProxy webProxy = new WebProxy("http://myproxy.net:8080/", true)
         {
             Credentials = new NetworkCredential("username", "pw"),
             UseDefaultCredentials = false
         };
request.Proxy = webProxy;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//rest of the code...

编辑

对于您创建的请求,您可以通过在请求中使用空代理在请求级别禁用自动代理检测

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.google.com/");
request.Proxy = null;
//rest of the code
WebProxy webProxy = new WebProxy("http://myproxy.net:8080/", true)
     {
         UseDefaultCredentials = false,
         Credentials = new NetworkCredential("username", "pw")
     };

请注意设置属性的正确顺序{其他方面对我来说失败}