http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3375|回复: 4

[其他] Cookie为什么会返回空?

[复制链接]
发表于 2015-4-29 08:18:47 | 显示全部楼层 |阅读模式
namespace 窗口程序
{
    class datum
    {
        public string User { get; set; }
        public string Pass { get; set; }
        public string Verify { get; set; }
        public string Cookie { get; set; }
        public string  Logo()   
        {
            HttpHelper Http = new HttpHelper();
            HttpItem item = new HttpItem()
            {
                URL = "https://sso.letv.com/user/loginsubmit",
                Method = "post",
                Postdata = string.Format(@"loginname={0}&account={1}&password={2}&autologin=true&memberme=true&referrer=http%3A%2F%2Fshop.letv.com%2F&verify={3}&encoder=&newLogin=&callback=iframeSubmit_139788743214515119", User,User,Pass ,Verify ),
                ContentType = "application/x-www-form-urlencoded",//返回类型    可选项有默认值  
                //Allowautoredirect = true,//自动跳转
                //AutoRedirectCookie=true,//是否自动处理Cookie
                ResultCookieType = ResultCookieType.CookieCollection
            };
            HttpResult result = Http.GetHtml(item);
            string html = result.Html;
            string flag;
            string username;
            flag = Between(html, "flag" + "\":\"", "\"");
            username = Between(html, "username" + "\":\"", "\"");
            if (flag == "200")
            {
                Cookie = result.Cookie;
                return "登录成功:" + username;
            }
            else if (flag == "401")
            {
                return "密码错误";
            }
            else if (flag == "405" || flag == "406")
            {
                return "请输入验证码";
            }
            else if (flag == "403")
            {
                return "邮箱未激活";
            }
            else
            {
                return "未知错误!";
            }

        }

         public static string Between(string str, string leftstr, string rightstr)  //取中间文本
         {
             int i = str.IndexOf(leftstr) + leftstr.Length;  
             string temp = str.Substring(i, str.IndexOf(rightstr, i) - i);  
             return temp;  
         }

    }
}




Cookie为什么会返回空?在商城看到乐视登录例子的Cookie不是空的,我弄成多线程为啥是空?


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-4-29 08:23:29 | 显示全部楼层
仔细对比一下程序应该就明白了吧
 楼主| 发表于 2015-4-29 08:47:06 | 显示全部楼层
站长苏飞 发表于 2015-4-29 08:23
仔细对比一下程序应该就明白了吧

要是放在类里面new出来 还必须要Allowautoredirect = true,//自动跳转 不然会出错,但是Cookie还是空
发表于 2015-4-29 09:44:14 | 显示全部楼层
zyf7758521ai 发表于 2015-4-29 08:47
要是放在类里面new出来 还必须要Allowautoredirect = true,//自动跳转 不然会出错,但是Cookie还是空

  ResultCookieType = ResultCookieType.CookieCollection 你知道这 是什么意思吗?

这是表示 使用CookieCollection

你再获取 Cookie = result.Cookie;没有很正常
 楼主| 发表于 2015-4-29 09:48:38 | 显示全部楼层
站长苏飞 发表于 2015-4-29 09:44
ResultCookieType = ResultCookieType.CookieCollection 你知道这 是什么意思吗?

这是表示 使用Coo ...

OK  明白了 谢了
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-4-30 00:14

© 2014-2021

快速回复 返回顶部 返回列表