簡體   English   中英

連接到C#中的Web服務

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM