天涯论坛网SSO自动登录的c#实现.付源代码!!!

天涯论坛网SSO自动登录的c#实现.付源代码!!!

 public class Tianya : Base
    {
        public override void Init()
        {
            log.GroupID = "Tianya//"+name;
            log.ID = "log4net";
            log.Init();
        }
       public string name;
       public string pwd;
        string cookies;
        string uid;
        string ukey;

 

        string msg = @"上海专业软件开发、网站开发、搜索引擎开发、网页数据采集、网站推广、产品营销推广、电子商务策略营销----联  系QQ 1163551688 上海,谢谢支持!";
       /// <summary>
       /// 登录
       /// </summary>
        public void Login()
       {
           cookies = "";
           Zfr.Common.Helper.AllowAutoRedirect = false;

           string url = "http://login.tianya.cn/user/loginsubmit.asp";
           string data = string.Format("vwriter={0}&vpassword={1}&returnURL=http%3A%2F%2Fwww.tianya.cn%2Ffocus%2Findex.shtml&fowardURL=http%3A%2F%2Fwww.tianya.cn%2Ffocus%2Findex.shtml", name, pwd);
            string rtn; Match m;
            rtn = Zfr.Common.Helper.PostForm(url, data, false, null, Encoding.GetEncoding("gbk"), "http://www.tianya.cn/", null);//
            Zfr.Common.Helper.AllowAutoRedirect = true;
            int i1, i2; string location;
            if (rtn.IndexOf("cookies") != -1)
            {
                i1 = rtn.IndexOf("<cookies>") + 9;
                i2 = rtn.IndexOf("</cookies>");
                if (i2 > i1)
                {
                    cookies += rtn.Substring(i1, i2 - i1);//
                }
                i1 = rtn.IndexOf("<location>") + 10;
                i2 = rtn.IndexOf("</location>");
                if (i2 > i1)
                {
                    location= rtn.Substring(i1, i2 - i1);//
                    location = Regex.Replace(location, "strWriter=(.*?)&", "strWriter=" + System.Web.HttpUtility.UrlEncode(name, Encoding.GetEncoding("gb2312")) + "&");
                    rtn = Zfr.Common.Helper.GetPage(location, cookies, Encoding.GetEncoding("gbk"), url, null);

                    m = Regex.Match(rtn, @"javascript"">(.*?)</script>");
                    string js="";
                    if (m.Success)
                    {
                        js = m.Groups[1].Value;
                        js = Regex.Replace(js, "document.cookie =(.*?);", "");
                    }

                    //JS计算Cookies值
                     cookies += ";user=" + Zfr.Common.Helper.JsEval(js + " var rtn=baseCookieValue;");
                    cookies += ";temp=" + Zfr.Common.Helper.JsEval(js + " var rtn=cookieValue;");
                    cookies += ";right=" + Zfr.Common.Helper.JsEval(js + " var rtn=cookieValue_right;");
                    cookies += ";sso=" + Zfr.Common.Helper.JsEval(js + " var rtn=cookieValue_sso;");
                    m=Regex.Match(rtn,@"href=""(.*?)""<");
                    if(m.Success)
                    {
                        location = m.Groups[1].Value;
                        location = Regex.Replace(location, "strWriter=(.*?)&", "strWriter=" + System.Web.HttpUtility.UrlEncode(name, Encoding.GetEncoding("gb2312")) + "&");
                        rtn = Zfr.Common.Helper.GetPage(location, cookies, Encoding.GetEncoding("gbk"), url, null);
                    }
                }
                    string refer = "http://my.tianya.cn/user/userInfoGadget.jsp?ownerId={0}&style=http://my.tianya.cn/style/blue/style.css";
                    rtn = Zfr.Common.Helper.GetPage("http://my.tianya.cn/portal.jsp", cookies, Encoding.UTF8, refer, null);
                    m = Regex.Match(rtn, @"""id"": ""(.*?)""");
                    if (!m.Success)
                        return;
                    uid = m.Groups[1].Value;
                    m = Regex.Match(rtn, @"""key"": ""(.*?)""");
                    if (!m.Success)
                        return;
                    ukey = m.Groups[1].Value;
                    log.Show(string.Format("Login-->{0} {1} {2} {3}",this.name,this.uid,this.ukey,this.cookies));
            }
            url = null; data = null; m = null; rtn = null; location = null;
            Zfr.Common.Helper.AllowAutoRedirect = true;
            DelMsg();//
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
02408仿天涯论坛模板的免费论坛系统是一款免费论坛系统(除PC版的模板样式,其它内容一模一样)。 虽然这是一个用PHP MySQL语言编写的论坛系统,但是管理员可以在后台一键切换成.shtml、.html、.htm、.asp、.aspx、.cgi、.php、.jsp、.cgi、/ 等任何一种网址后缀,如果利用伪静态规则,去掉URL中的index.php/,它就可以模拟不同语言编程的网站程序,是一个很吓人的程序。 这个仿天涯论坛模板的免费论坛系统开发者承诺使用者可以用于商业用途,不收取任何授权费用,并且还绝对没有后门(请在各大门户网站或官方网站下载)。 02408仿天涯论坛模板的免费论坛系统功能 这个免费的仿天涯论坛模板的免费论坛系统在功能方面也很强大!程序本身包含一个PC版网站和一个手机版网站,如果把手机网站首页网址嵌入到WebView中,可以在1小时之内制作成功一个安卓版APP安装包,分分钟就能拥有一个自己的APP应用,肯定很拉风吧?后台管理系统支持移动设备,可手机随时随地访问、管理和更新网站,开放式PHP原生态模板在线编译,音频视频发布直接生成HTML5代码,能够适应各种界面浏览器。 这个论坛系统虽然是仿天涯论坛制作的,但是很多功能也是天涯论坛没有的,除了在线问答系统,里面的会员功能还拓展到了兼职专题功能,超级管理员可无密码一键登录任意会员后台,管理员用受限登录会员身份后台发布信息,也可让网站攻击者无法猜解密码,有过网站运营经验的人更懂,其中包含的更多更多深层奥秘(管理会员、虚拟活跃用户、虚拟订单、创建更宽泛话题...),成倍降低运维工作量。 这个仿天涯论坛模板的免费论坛系统在用户体验方面也是下了很大功夫,可以安装到任意网站二级目录,后台有很多友好提示,可以一键清除全部缓存,邮件实时通知,安装程序自动识别和设置伪静态,表单内容可以自动补全,url表单可自动生成拼音,也可以用汉字,自动转码,有利于SEO搜索引擎排名,全站无死角SEO设置。 其它像tag标签管理、广告管理、在线编辑js和CSS、在线编辑模板、备份模板、模板恢复备份、后台远程管理和删除多余上传文件、是否开启验证码、设置验证码长度和软件猜解难度、访客留言关键词过滤、用户可以对在线问答的回答内容点踩和赞、留言用户自动注册等等,都挺实用。 另外,这个免费的仿天涯论坛模板的免费论坛系统在拓展方面也挺好,除了适合做论坛和在线问答系统之外,博客、文章系统、商城、企业网站等,各种类型网站都可以使用,所以将来网站无论如何转型或拓展,只需要修改模板就可以实现,无需抛弃重建网站,直接更换模板就可以了。 另外从技术方面讲,这确实是一个很牛X的仿天涯论坛模板的免费论坛系统: 前端代码数量、后端代码精简程度、网页执行时间,都不到同级别程序的1/3,在不使用其它服务器组件的情况下,低配置的服务器上的运行速度也可以在15毫秒以内(其它论坛程序大多在60到100毫秒以上),这意味着,这个论坛程序在相同的时间里,具备抗击更强烈度的网络攻击能力,具备更强大的数据承载能力。 当然,您也可以从更专业角度去分析: 懂前端的,您可以单击右键查看源文件,对比互联网上所有网站HTML编码源文件; 懂PHP后端的,您可以下载这个论坛程序查看源代码编译逻辑和精简程度; 懂SEO的,您可以检查无死角SEO设置; 懂运营的,您可以看通用程度; 什么都不懂的,您可以看程序执行时间,看程序实现的功能有多少,看其他网站程序压缩包大小是多少(代码精简,压缩包也小,程序运行速度更快,效率更高,服务器抗攻击能力更强)。 这么好的网站程序,别忘了向朋友们推荐哦! 02408仿天涯论坛模板的免费论坛系统截图 相关阅读 同类推荐:站长常用源码
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值