訪問需要HTTP Basic Authentication認證的資源的C#實現

來源:互聯網
上載者:User

要在發送請求的時候添加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或者其他的類來發送請求。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.