[英]Connecting to web service in C#
我正在嘗試從位於此處的 Lockheed Martin連接到Web服務。 我看了其他示例,並使用以下代碼嘗試建立連接。 我現在想知道的是,我是否已建立連接並獲得授權,但是我反復得到一個異常提示
未經授權的System.Net.HttpWebRequest.GetResponse()
。 我是否正確設置了Web請求和響應? 是否有其他方法可以簡單地讓我知道是否已成功連接?
try
{
//Connect to the Lockheed Martin web client
WebRequest client = WebRequest.Create("https://www.elabs.testafss.net/Website2/ws");
string username = "username";
string password = "password";
string credentials = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(username + ":" + password));
client.Headers.Add("Authorization", "Basic " + credentials);
WebResponse response = client.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
您的用戶名/密碼可能不正確,請查看該Web服務的文檔,您的代碼正在再現以下示例中完全相同的哈希:
使用基本身份驗證協議執行身份驗證。 每個Web服務請求都提供了一個授權標頭。 有時稱為搶先驗證。 標頭看起來像這樣:
Authorization: Basic Vendor_ID:Vendor_Password
Vendor_ID:Vendor_Password字符串轉換為Base64的位置。
Authorization: Basic JoesFlightServices:SecretPW
轉換為Base64:
Authorization: Basic Sm9lc0ZsaWdodFNlcnZpY2VzOlNlY3JldFBX
請注意,轉換為Base64不能確保該信息是私有的。 我們使用HTTPS加密包括頭的整個HTTP消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.