看到网上很多人找新浪登录的源代码,甚至发到威客上去了! 下面直接公布新浪登录和发布博文的源码
public static string pSina(string user,string psw,string title,string txt)
{
myDomain(container);
// login
string url = "http://login.sina.com.cn/js(v6.3.7)";
string pData = string.Format("service=sso&client=ssologin.js%28v1.3.7%29&entry=sso&encoding=GB2312&gateway=1&savestate=0&from=&useticket=0");
string content = Execute(url, "post", pData);
writeS(url, "login");
myDomain(container);
// personal Powered BY Error
// url = "http://i.blog.sina.com.cn/byerror/index.php?com=1";
// content= Execute(url,"get","");
// myDomain(container);
// pr_Create and Get
url = "http://control.blog.sina.com.cn/myDomain/article_add.php";
// write it for test"/>
content = Execute(url, "get", "");
string strDatePub = myMatch(content, "(?<=input type=\"hidden\" name=\"date_pub\" id=\"date_pub\" value=\").*(?=\"/)", 0);
string strTime = myMatch(content, "(?<=>>>" + pData);
content = Execute(url, "post", pData);
if(content.Contains("success")) // 这里返回值有问题。没改
{
// 返回博文地址
return string.Format("http://blog.sina.com.cn/s/blog_{0}.html",
myMatch(content, "(test)", 0));
}
else
{
return "";
}
}说明:以上是C#登录新浪源代码,其实各大博客(网易、搜狐、百度、和讯、腾讯、博客大巴Blogbus)的登录和发布源代码都能实现...
登录流程:通过新浪SSO登录接口完成用户认证
数据获取:先获取发布页面,提取必要的表单字段(如date_pub、time等)
内容编码:使用UTF-8编码处理中文标题和正文内容
表单提交:构造完整的博文发布表单数据并POST提交
结果处理:解析返回内容获取博文发布地址