软件开发
开发分享
软件下载

C#实现新浪博客登录与发布博文源码

时间:2010-07-14 来源:juhe99 点击量:

C#实现新浪博客登录与发布博文源码

看到网上很多人找新浪登录的源代码,甚至发到威客上去了! 下面直接公布新浪登录和发布博文的源码

核心实现代码

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提交

  • 结果处理:解析返回内容获取博文发布地址