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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 30263|回复: 25

[HttpHelper] 关于httpHelper 模拟成功后,浏览器写入cookie,打开浏览器为什么还需要登陆

[复制链接]
发表于 2014-9-25 18:52:13 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 庸亼臫扰]。 于 2014-9-25 19:00 编辑

[C#] 纯文本查看 复制代码
 [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
        static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref
System.UInt32 pcchCookieData, int dwFlags, IntPtr lpReserved);

        [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
        static extern int InternetSetCookieEx(string lpszURL, string lpszCookieName, string lpszCookieData, int dwFlags,
        IntPtr dwReserved);
        private static string GetCookies(string url)
        {
            uint datasize = 256;
            StringBuilder cookieData = new StringBuilder((int)datasize);
            if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x2000, IntPtr.Zero))
            {
                if (datasize < 0)
                    return null;


                cookieData = new StringBuilder((int)datasize);
                if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, IntPtr.Zero))
                    return null;
            }
            return cookieData.ToString();
        }
        public static string SetCookieForIE(string url,[color=#ff0000][b]CookieCollection cookiestring[/b][/color],string loginsuccess="www.baidu.com", string path="/")
        {
            try
            {


                foreach (Cookie c in [color=#ff0000][b]cookiestring[/b][/color])
                {

                  
                    string name =c.Name;
                    string value = c.Value + ";expires=" + DateTime.Now.AddDays(1).ToString("r");

                    if (!InternetSetCookie(url, name, value))
                    {
                        return GetLastError().ToString();

                    }


                }
           
             
                //注册字符串类型cookie
                //InternetSetCookie(url, "", cookiestring);
                System.Diagnostics.Process.Start("IEXPLORE.EXE", "http://19.133.112.8/jszm/hold.asp");
                return GetCookies(url);
            }
            catch (Exception)
            {
                return "false";
                throw;
            }

        }
    
GetCookies(url) 的确获取到了, 就是在process 打开浏览器后还需要登陆, 查看了下IE面的cookie文件都有

最佳答案

查看完整内容

Sesson也是在cookie里存储 的SessionID。直接带上这个就行了。不过你的确定那是你得到的Cookie貌似不是Cookie的格式啊

本帖被以下淘专辑推荐:

  • · cookie|主题: 12, 订阅: 1


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-9-25 18:52:14 | 显示全部楼层
Sesson也是在cookie里存储 的SessionID。直接带上这个就行了。不过你的确定那是你得到的Cookie貌似不是Cookie的格式啊
回复

使用道具 举报

发表于 2014-9-25 20:58:51 | 显示全部楼层
看看是不是格式不对
回复

使用道具 举报

发表于 2014-9-26 09:32:45 | 显示全部楼层
我只是路过打酱油的。
回复

使用道具 举报

 楼主| 发表于 2014-9-26 10:06:08 | 显示全部楼层
站长苏飞 发表于 2014-9-25 20:58
看看是不是格式不对

, 膜拜中....!  站长大人能说的明白点不, cookie 这块了解的比较少, 什么格式
回复

使用道具 举报

发表于 2014-9-26 10:07:08 | 显示全部楼层
庸亼臫扰]。 发表于 2014-9-26 10:06
, 膜拜中....!  站长大人能说的明白点不, cookie 这块了解的比较少, 什么格式

你把你写入的和浏览器获取的正常Cookie对比一下,比如Path等是否一样,或者是过期时间Express
回复

使用道具 举报

发表于 2014-9-26 13:22:02 | 显示全部楼层
遇到过一样的问题,我也还没解决!等到大神指点!!!
回复

使用道具 举报

 楼主| 发表于 2014-9-26 13:36:23 | 显示全部楼层
本帖最后由 庸亼臫扰]。 于 2014-9-26 13:40 编辑
站长苏飞 发表于 2014-9-26 10:07
你把你写入的和浏览器获取的正常Cookie对比一下,比如Path等是否一样,或者是过期时间Express

调用api 写入浏览器cookie ,  看了下cookie 文件, 比如 cookie ASPSESSIONID=QQCRABDA
NJDBMINBMDMBJPPPCDOINCKH,网站验证的就是当前cookie,  存入的格式是name跟value 连在一块
QQ截图20140926133141.png


一段数字是时间express,当前时间加一天GMT转的, path 是* , 应该是根据我传的url地址把, win8.1系统,  我测试的网站是session, 难道跟cookie没关系?

或者说网站验证的是session , 我这边怎么搞都不行?

如果是session的话,是否这条路走不通?
回复

使用道具 举报

 楼主| 发表于 2014-9-26 13:37:14 | 显示全部楼层
w393278126 发表于 2014-9-26 13:22
遇到过一样的问题,我也还没解决!等到大神指点!!!

我一直在等,
回复

使用道具 举报

发表于 2014-9-26 14:03:38 | 显示全部楼层
我只是路过打酱油的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-22 07:35

© 2014-2021

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