访问需要HTTP Basic Authentication认证的资源的C#实现

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

  • 一是在请求头中添加Authorization:
    Authorization: "Basic 用户名和密码的base64加密字符串"
  • 二是在url中添加用户名和密码:
    http://userName:password@api.minicloud.com.cn/statuses/friends_timeline.xml

下面来看下对于第一种在请求中添加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(); 

你当然也可以使用HttpWebRequest或者其他的类来发送请求。

posted @ 2011-07-04 14:35  ido  阅读(7831)  评论(1编辑  收藏  举报