我正在尝试使用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