远程服务器返回错误:(401) Unauthorized

Posted

技术标签:

【中文标题】远程服务器返回错误:(401) Unauthorized【英文标题】:The remote server returned an error: (401) Unauthorized 【发布时间】:2011-01-03 13:45:29 【问题描述】:

我正在尝试获取某个网页的 html 代码, 我有一个正确的用户名和密码,但我仍然无法使用它, 这是我的代码:

private void buttondownloadfile_Click(object sender, EventArgs e)

    NetworkCredentials nc = new NetworkCredentials("?", "?", "http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR");   
    WebClient client = new WebClient();

    client.Credentials = nc;
    String htmlCode = client.DownloadString("http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR");

    MessageBox.Show(htmlCode);

MessageBox 只是为了测试它, 问题是每次我到达这条线:

String htmlCode = client.DownloadString("http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR");

我得到一个例外:

远程服务器返回错误: (401) 未经授权。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

就我而言,client.UseDefaultCredentials = true; 成功了。

【讨论】:

【参考方案2】:

我已经尝试了以下代码并且它正在工作。

    private void Form1_Load(object sender, EventArgs e)        
    
        try
        
            // Create Request
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(@"http://192.168.0.181/axis-cgi/com/ptz.cgi?move=up");

            // Create Client
            WebClient client = new WebClient();

            // Assign Credentials
            client.Credentials = new NetworkCredential("root", "a");

            // Grab Data
            string htmlCode = client.DownloadString(@"http://192.160.0.1/axis-cgi/com/ptz.cgi?move=up");

            // Display Data
            MessageBox.Show(htmlCode);
        
        catch (WebException ex) 
        
            MessageBox.Show(ex.ToString());
        
    

【讨论】:

【参考方案3】:

尝试创建一个没有该域部分的NetworkCredential

NetworkCredential nc = new NetworkCredential("?", "?");   

【讨论】:

以上是关于远程服务器返回错误:(401) Unauthorized的主要内容,如果未能解决你的问题,请参考以下文章

远程服务器返回错误:(401) Unauthorized: Push Notification

远程服务器返回错误:(401)在Zendesk中未经授权

远程服务器返回错误:(401) Unauthorized with paypal

远程服务器返回错误:(401) Unauthorized。使用 Paypal Rest APi 时

C#使用HttpWebRequest请求url出现远程服务器返回一个错误:401未经授权

ReportViewer中的SSRS导出返回401 Unauthorized