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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 9313|回复: 5

[HttpHelper] 为啥使用Post登录网页的时候会出现验证码呢?

[复制链接]
发表于 2014-11-15 00:40:45 | 显示全部楼层 |阅读模式
1金钱
登录日本雅虎邮箱网站,我研究出来的结果是先用get去首页获取到cookie,然后使用cookie再用get到登陆页面获取cookie和一个类似token的数据(albatross),然后使用把数据post到后台,然后post之后就得到了一个输入验证码的页面,按道理应该是直接登陆成功的,不知道为何出现了验证码,求大神帮忙看看,附源码:
[C#] 纯文本查看 复制代码
string url = "http://login.yahoo.co.jp/config/login?.src=&.v=3&t_cushion=&sr_required=&sr_optional=&.done=http%3A//www.yahoo.co.jp/&.display=";

                HttpHelper helper = new HttpHelper();

                HttpItem httpItem = new HttpItem()
                {
                    URL = "http://www.yahoo.co.jp",
                };
                HttpResult httpResult = helper.GetHtml(httpItem);
                string cookie = httpResult.Cookie;

                httpItem = new HttpItem()
                {
                    URL = url,
                    UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
                    Accept = "text/html, application/xhtml+xml, */*",
                    Referer = url,
                    ContentType = "application/x-www-form-urlencoded",
                    Allowautoredirect = true,
                    Cookie = cookie
                };
                httpResult = helper.GetHtml(httpItem);
                string temp = "<input type=\"hidden\" name=\".albatross\" value=\"";
                int startIndex = httpResult.Html.IndexOf(temp) + temp.Length;
                int endIndex = httpResult.Html.IndexOf("\"", startIndex);
                string albatross = httpResult.Html.Substring(startIndex, endIndex - startIndex);
                string postData = @".ct=&.albatross=" + albatross.Replace("=", "%3D") + "&.tries=1&.src=&.md5=&.hash=&.js=&.last=&promo=&.intl=&.bypass=&.partner=&.u=&.v=3&.challenge=&.yplus=&.emailCode=&pkg=&stepid=&.ev=&hasMsgr=0&.chkP=Y&.done=http%3A%2F%2Fwww.yahoo.co.jp%2F&.pd=&.protoctl=&.requiredPsCheckBox=&.suppreg_skip=&ckey=&t_cushion=&sr_required=&sr_optional=&.display=&at=&login=" + userName + "&passwd=" + passWord + "&.reg1=1440&.reg2=900&.reg3=-480&.reg4=Shockwave+Flash%2Cundefined%2Cswf%2Capplication%2Fx-shockwave-flash%2CShockwave+Flash%2Cundefined%2Cspl%2Capplication%2Ffuturesplash&.reg5=Shockwave+Flash+15.0+r0%2CFlash32_15_0_0_167.ocx%2CShockwave+Flash&.reg6=&.reg7=&.reg8=&.reg9=46.356";
                httpItem = new HttpItem()
                {
                    URL = "https://login.yahoo.co.jp/config/login?",
                    Referer = url,
                    Accept = "text/html, application/xhtml+xml, */*",
                    UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
                    Cookie = cookie,
                    ContentType = "application/x-www-form-urlencoded",
                    Method = "Post",
                    Postdata = postData,
                    Allowautoredirect = true,
                    Encoding = Encoding.UTF8
                };
                httpResult = helper.GetHtml(httpItem);
                string result = httpResult.Html;



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2014-11-15 01:44:03 | 显示全部楼层
测试账号:kotakonaotawa@yahoo.co.jp 密码:pa7815


我这边发现一个问题,我在进 http://www.yahoo.co.jp 这个页面的时候,明明是第一次打开页面,但是get这个页面的时候居然发送了4个cookie,不知道是不是因为这个影响的,苏飞大大,求救 @站长苏飞  
回复

使用道具 举报

发表于 2014-11-15 09:58:30 | 显示全部楼层
hinagikulove 发表于 2014-11-15 01:44
测试账号: 密码:pa7815

第一次打开发送Cookie这个很正常,不需要怀疑吧
回复

使用道具 举报

 楼主| 发表于 2014-11-15 12:11:19 | 显示全部楼层
站长苏飞 发表于 2014-11-15 09:58
第一次打开发送Cookie这个很正常,不需要怀疑吧

好吧... 我对post不怎么熟悉,苏飞大大觉得post在登陆的时候出现验证码的情况是什么引起的呢?是缺少了cookie还是啥?我看到get登陆页面的时候,ResponseHeader里有一个P3P这个值,是这个影响的吗?
回复

使用道具 举报

 楼主| 发表于 2014-12-4 17:02:13 | 显示全部楼层
@站长苏飞  苏飞大大知道什么问题吗
回复

使用道具 举报

发表于 2014-12-4 19:23:38 | 显示全部楼层
hinagikulove 发表于 2014-12-4 17:02
@站长苏飞  苏飞大大知道什么问题吗

抓了下包,也有验证码。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 14:31

© 2014-2021

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