访问需要HTTP Basic Authentication认证的资源的各种语言的实现

无聊想调用下嘀咕的api的时候,发现需要HTTP Basic Authentication,就看了下。

什么是HTTP Basic Authentication?直接看http://en.wikipedia.org/wiki/Basic_authentication_scheme吧。

在你访问一个需要HTTP Basic Authentication的URL的时候,如果你没有提供用户名和密码,服务器就会返回401,如果你直接在浏览器中打开,浏览器会提示你输入用户名和密码(google浏览器不会,bug?)。你可以尝试点击这个url看看效果:http://api.minicloud.com.cn/statuses/friends_timeline.xml

要在发送请求的时候添加HTTP Basic Authentication认证信息到请求中,有两种方法:

下面来看下对于第一种在请求中添加Authorization头部的各种语言的实现代码。

先看.NET的吧:

string username="username";
string password="password";
//注意这里的格式哦,为 "username:password"
string usernamePassword = username + ":" + password;
CredentialCache mycache 
= new CredentialCache();
mycache.Add(
new Uri(url), "Basic"new NETworkCredential(username, password));
myReq.Credentials 
= mycache;
myReq.Headers.Add(
"Authorization""Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(usernamePassword))); 

WebResponse wr 
= myReq.GetResponse();
Stream receiveStream 
= wr.GetResponseStream();
StreamReader reader 
= new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd(); 

it知识库访问需要HTTP Basic Authentication认证的资源的各种语言的实现,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。