我正在嘗試使用WCF Rest Starter Kit和RightScale's Login API,這看起來相當簡單。與RightScale API一起使用HttpClient
編輯 - 這裏是博客entry我寫過關於使用Powershell來使用API。
編輯 - 創建一個通用的.NET包裝的API的RightScale - NRightAPI
這是因爲它同時使用curl看起來完全一樣簡單。爲了讓我獲得登錄cookie所有我需要做的是:
捲曲-v -c rightcookie -u用戶名:密碼 「https://my.rightscale.com/api/acct/accountid/login?api_version=1.0」
我收到以下的cookie:
HTTP/1.1 204無內容日期:週五,25
2009年十二時29分24秒格林尼治標準時間服務器12月:雜種 1.1.3狀態:204無內容X-運行時間:0.06121
內容類型: text/html;字符集= UTF-8
的Content-Length:0
緩存控制: 無緩存
增補餅乾 _session_id = 「488a8d9493579b9473fbcfb94b3a7b8e5e3」 域my.rightscale.com,路徑/, 到期0
的Set-Cookie: _session_id = 488a8d9493579b9473fbcfb94b3a7b8e5e3; path = /;安全有所不同:接受編碼
然而,當我使用下面的C#代碼:
HttpClient的HTTP =新 的HttpClient( 「https://my.rightscale.com/api/accountid/login?api_version=1.0」);
http.TransportSettings.UseDefaultCredentials = false;
http.TransportSettings.MaximumAutomaticRedirections = 0;
http.TransportSettings.Credentials = new NetworkCredential(「username」, 「password」);
Console.WriteLine(http.Get()。Content.ReadAsString());
而不是一個HTTP 204的,我得到一個重定向:
您正在<一個> HREF = 「https://my.rightscale.com/dashboard」>重定向<一>
如何獲得WCF REST入門工具包與RighScale API一起工作?
這是一個快捷方式http.DefaultHeaders.Authorization = Credential.CreateBasic(「user」,「password」); – 2009-12-26 22:24:53
非常感謝Darrel,這非常有用。如果這是一個單獨的答案,我可以投票贊成。 – 2009-12-27 09:35:11
沒問題。我在寫作上Microsoft.Http庫幾個職位的過程。你可能會發現一些其他有用的東西。 http://www.bizcoder.com/index.php/2009/12/08/why-the-microsoft-http-library-is-awesome/ – 2009-12-27 14:54:03