Ame*_*een 4 rest powershell wcf cloud-hosting rightscale
我正在尝试将WCF Rest Starter Kit与RightScale的Login API一起使用,这看起来相当简单.
编辑-这里有一个博客条目我就使用PowerShell来使用API写道.
编辑 - 为RightScale API创建通用.NET包装器 - NRightAPI
它与使用CURL时的外观完全一样简单.为了让我获得一个登录cookie,我需要做的是:
curl -v -c rightcookie -u username:password" https://my.rightscale.com/api/acct/accountid/login?api_version=1.0 "
我收到以下cookie:
HTTP/1.1 204否内容日期:
2009 年12月25 日星期五 12:29:24 GMT服务器:Mongrel 1.1.3状态:204否内容X-Runtime:0.06121
内容类型:text/html; charset = utf-8
内容长度:0
缓存控制:无缓存
为域my.rightscale.com添加cookie _session_id ="488a8d9493579b9473fbcfb94b3a7b8e5e3",路径/,到期0
Set-Cookie:_session_id = 488a8d9493579b9473fbcfb94b3a7b8e5e3; 路径= /; 安全变化:接受编码
但是,当我使用以下C#代码时:
HttpClient http = new 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,我得到一个重定向:
您正在<a> href ="https://my.rightscale.com/dashboard">重定向<a>
如何使用RighScale API获取WCF REST入门套件?
我需要在我的请求中添加"Authorization:Basic"标题.
除了我发布的初始代码之外:
HttpClient http = new HttpClient(" https://my.rightscale.com/api/acct/accountid/login?api_version=1.0 ");
http.TransportSettings.UseDefaultCredentials = false;
http.TransportSettings.MaximumAutomaticRedirections = 0;
http.TransportSettings.Credentials = new NetworkCredential("username","password");
我需要使用用户名/密码添加Authorization标头和REST请求,如下所示:
byte [] authbytes = Encoding.ASCII.GetBytes(string.Concat("username",":","password"));
string base64 = Convert.ToBase64String(authbytes);
string authorization = string.Concat("Authorization:Basic",base64);
http.DefaultHeaders.Add(授权);
然后当我提出要求时:
Console.WriteLine(http.Get()Content.ReadAsString());
我收到了HTTP 204以及我正在寻找的会话cookie.我能说什么,Fiddler太棒了:)!
| 归档时间: |
|
| 查看次数: |
1513 次 |
| 最近记录: |