1) 准备用户验证数据:
string username = " t@cnblogs.com " ;
string password = " cnblogs.com " ;
string usernamePassword = username + " : " + password;
username是你的微博登录用户名,password是你的博客密码。
2) 准备调用的URL及需要POST的数据:
++++++++++++++++++++++++++++++++++++++++++++++++++++++
string news_title = " VS2010网剧合集:讲述程序员的爱情故事 " ;
int news_id = 62747 ;
string t_news = string .Format( " {0},http://news.cnblogs.com/n/{1}/ " , news_title, news_id );++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
string data = " source=123456&status= " + System.Web.HttpUtility.UrlEncode(t_news);
4. 准备用于发起请求的HttpWebRequest对象:
System.Net.WebRequest webRequest = System.Net.WebRequest.Create(url);
System.Net.HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest;
5. 准备用于用户验证的凭据:
System.Net.CredentialCache myCache = new System.Net.CredentialCache();
myCache.Add( new Uri(url), " Basic " , new System.Net.NetworkCredential(username, password));
httpRequest.Credentials = myCache;
httpRequest.Headers.Add( " Authorization " , " Basic " +
Convert.ToBase64String( new System.Text.ASCIIEncoding().GetBytes(usernamePassword)));
6. 发起POST请求:
httpRequest.Method = " POST " ;
httpRequest.ContentType = " application/x-www-form-urlencoded " ;
System.Text.Encoding encoding = System.Text.Encoding.ASCII;
byte [] bytesToPost = encoding.GetBytes(data);
httpRequest.ContentLength = bytesToPost.Length;
System.IO.Stream requestStream = httpRequest.GetRequestStream();
requestStream.Write(bytesToPost, 0 , bytesToPost.Length);
requestStream.Close();
上述代码成功执行后,就会把内容发到了你的微博上了。
7. 获取服务端的响应内容:
System.Net.WebResponse wr = httpRequest.GetResponse();
System.IO.Stream receiveStream = wr.GetResponseStream();
using (System.IO.StreamReader reader = new System.IO.StreamReader(receiveStream, System.Text.Encoding.UTF8))
{
string responseContent = reader.ReadToEnd();
}