要在发送请求的时候添加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();
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或者其他的类来发送请求。