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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 7618|回复: 19

[其他] 飞哥,你的这个HttpHelper类很好用,但是.......

[复制链接]
发表于 2013-2-19 21:45:01 | 显示全部楼层 |阅读模式
我这几天做一个QQ安全中心登陆的winform程序,出了一点小问题,不想打扰你的,但是实在能力有限,

QQ登陆第一步是check那个,你也知道,如果不需要验证码的话大概是这样的"!qwe",这就是验证码,用你的HttpHelper类返回的cookie不能登陆,

需要验证码的话,图片返回的那个cookie是可以登陆的,我自己也写了一个简单的http方法,返回的cookie是可以登陆的,有一点不同的是,

HttpHelper类返回的那个cookie和我写的那个返回的cookie不一样,当然都是不需要验证码的,你写的类使用方法我看过N遍了,绝对没有写错,

我是从别的语言转到c#的,Get和Post以前都写过的,希望你能看一下,我自己写的方法太烂,还想用你这个,我是安阳林州的,在青岛上班;

希望你能回复几个字;谢谢了;


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2013-2-19 21:57:12 | 显示全部楼层
这是我写的http方法返回的检测验证码的cookie:“confirmuin=0; ptvfsession=c21a2be81dc99fafed486ceef15b6719068bc29ca0d800573730431fbd0e4f31124d1fe22da1ea24909b3a3b6c806a12; ptisp=cnc; ”(这个cookie可以登陆)

这是httphelper类返回的cookie:confirmuin=0; PATH=/; DOMAIN=ptlogin2.qq.com;,ptvfsession=8e6a5f9db9e5f543f720b4b482d45ef6649f6b28f3562dfa524d3e9f22423806eb551f0d9c31942bb60d265aa37e26be; PATH=/; DOMAIN=ptlogin2.qq.com;,ptisp=cnc; PATH=/; DOMAIN=qq.com;(这个cookie 不能登陆)

QQ号码都是一样的,httphelper返回的cookie好像比较多,当然,需要验证码的话就是图片返回的cookie都能登陆
发表于 2013-2-20 08:27:12 | 显示全部楼层
本帖最后由 淘浩哥 于 2013-3-9 13:57 编辑

httphelper类返回的cookie,大部分带有 PATH=/,很奇怪,而且有时候还存在cookie缺失的情况,这样没法登陆
发表于 2013-2-21 09:45:53 | 显示全部楼层
不太明白你的意思,你是说你自己写的能登录,用的类就不能登录了是吗?
 楼主| 发表于 2013-2-21 09:58:36 | 显示全部楼层
对啊,真的是这样,其实就是一个传递cookies的过程,其他的还好,就返回cookie这个有点。。。
发表于 2013-2-21 09:59:47 | 显示全部楼层
贴下代码吧,具体还要看代码
 楼主| 发表于 2013-2-21 10:07:14 | 显示全部楼层
我现在打一遍,稍等啊,
 楼主| 发表于 2013-2-21 10:25:14 | 显示全部楼层
[code=csharp] private void button1_Click(object sender, EventArgs e)
        {
            item = new HttpItem()
            {
                URL = "http://check.ptlogin2.qq.com/check?uin=1776912725&appid=2001601&r=0.2845342426637454",// 1776912725我的QQ号,登陆不需要验证码;               
            };
            HttpResult Result = per.GetHtml(item);
            string cookie = Result.Cookie;
            string returntext = Result.Html;
            Debug.Print(returntext);
            //返回的cookie:confirmuin=0; PATH=/; DOMAIN=ptlogin2.qq.com;,ptvfsession=8e6a5f9db9e5f543f720b4b482d45ef6649f6b28f3562dfa524d3e9f22423806eb551f0d9c31942bb60d265aa37e26be; PATH=/; DOMAIN=ptlogin2.qq.com;,ptisp=cnc; PATH=/; DOMAIN=qq.com;
            //返回的文本字符:ptui_checkvc('0','!fyf','\x00\x00\x00\x00\x69\xe9\x89\x55');
            //然后把这个cookie和中间的验证码(!fyf)传递给http://ptlogin2.qq.com/login?u=1776912725&p="+密码加密(MD5)+"&verifycode=“+验证码+”&aid=2001601&u1=http%3A%2F%2Faq.qq.com%2Fcn2%2Findex&h=1&ptredirect=1&ptlang=2052&from_ui=1&dumy=&fp=loginerroralert&action=4-18-24266&mibao_css=&t=1&g=1
            //返回的是网路异常,其实就是cookie传递失败,
        }[/code]
 楼主| 发表于 2013-2-21 10:26:57 | 显示全部楼层
匆忙中写的,主要问题就是返回cookie不能登陆,
发表于 2013-2-21 18:41:53 | 显示全部楼层
是不是返回的COOKIE多了?
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-4-23 23:02

© 2014-2021

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