2014-01-28 66 views
3

調用Web API當我打電話給我的WEB API從我的控制檯應用程序,我遇到:(401)未經授權錯誤當從一個控制檯應用程序

遠程服務器返回錯誤:(401)未經授權。

此應用程序在運行Interanet(Windows身份驗證

  Uri uri = new Uri("http://myServer/api/main/foo"); 
      WebClient client = new WebClient(); 
      client.Credentials = CredentialCache.DefaultCredentials; 

      using (Stream data = client.OpenRead(uri)) 
      { 
       using (StreamReader sr = new StreamReader(data)) 
       { 
        string result = sr.ReadToEnd(); 
        Console.WriteLine(result); 
       } 
      } 

更新

如果我更換

client.Credentials = CredentialCache.DefaultCredentials;

這一行

client.Credentials = new NetworkCredential(username, password);

它工作正常,但我需要當前的憑據自動設置。

任何想法? 在此先感謝;)

回答

2

您使用默認的Windows憑據這裏

client.Credentials = CredentialCache.DefaultCredentials; 

指定要使用下面的代碼來驗證憑據:

var credential = new NetworkCredential(, ,); 

serverReport.ReportServerCredentials.NetworkCredentials = credential; 
+0

感謝您抽出時間,其實我正在使用Windows身份驗證 –

相關問題