首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将HttpClient与RightScale API结合使用

将HttpClient与RightScale API结合使用
EN

Stack Overflow用户
提问于 2009-12-25 12:58:34
回答 1查看 1.5K关注 0票数 4

我正在尝试在RightScale的登录API中使用WCF工具包,这似乎相当容易使用。

编辑--这是我在使用Powershell使用API时写的一个博客条目

编辑-为.NET API - NRightAPI创建了一个通用的NRightAPI包装器。

它就像使用卷发时看起来的一样简单。为了获得登录cookie,我需要做的就是:

curl -v -c rightcookie -u用户名:密码"version=1.0

我收到以下曲奇:

HTTP/1.1 204无内容日期:2009年12月25日星期五12:29:24 GMT服务器: Mongrel 1.1.3状态:204NoContentX-Runtime: 0.06121 内容-类型: text/html;charset=utf-8 内容长度:0 缓存-控制:无缓存 为域_session_id="488a8d9493579b9473fbcfb94b3a7b8e5e3“添加cookie my.rightscale.com,路径/,过期0 Set-Cookie:_session_id=488a8d9493579b9473fbcfb94b3a7b8e5e3;path=/;secure : Accept-Encoding

但是,当我使用以下C#代码时:

HttpClient http = new HttpClient("version=1.0"); http.TransportSettings.UseDefaultCredentials = false; http.TransportSettings.MaximumAutomaticRedirections = 0; http.TransportSettings.Credentials =新NetworkCredential(“用户名”、“密码”); Console.WriteLine(http.Get().Content.ReadAsString());

我得到的不是HTTP 204,而是重定向:

你是href="redirected">https://my.rightscale.com/dashboard">redirected

如何让WCF工具包与RighScale API一起工作?

EN

回答 1

Stack Overflow用户

发布于 2009-12-26 13:50:33

我需要在我的请求中添加一个“授权:基本”头。

除了我发布的初始代码之外:

HttpClient http = new HttpClient("version=1.0"); http.TransportSettings.UseDefaultCredentials = false; http.TransportSettings.MaximumAutomaticRedirections = 0; http.TransportSettings.Credentials =新NetworkCredential(“用户名”、“密码”);

我需要添加授权头以及带有用户名/密码的REST请求,如下所示:

Encoding.ASCII.GetBytes(string.Concat("username",= byte[] ":",“密码”); 字符串base64 =Convert.ToBase64String(创作字节); 字符串授权=string.Concat(“授权:基本",base64); Http.DefaultHeaders.Add(授权);

然后当我提出请求时:

Console.WriteLine(http.Get().Content.ReadAsString());

我收到了HTTP 204和我正在寻找的会话cookie。我能说什么呢,费德勒太棒了:)!

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1961132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档