苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 20196|回复: 6

[HttpHelper] http验证码请求获取不到验证码,返回Incapsula看内容来大神

[复制链接]
发表于 2021-6-22 12:29:35 | 显示全部楼层 |阅读模式
100金钱
网址:https://2724783958-wc.qq168.ws/code?_=1624336028178。来大神帮忙看看万分谢谢。研究了好几天还是没找到问题所在。



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2021-6-23 18:08:07 | 显示全部楼层
http://www.sufeinet.com/thread-10024-1-1.html

重点 ResultType = ResultType.Byte
Image img = byteArrayToImage(result.ResultByte);
将 byte转base64 发到打码平台
回复

使用道具 举报

 楼主| 发表于 2021-6-25 20:23:54 | 显示全部楼层
echoxxx 发表于 2021-6-23 18:08
http://www.sufeinet.com/thread-10024-1-1.html

重点 ResultType = ResultType.Byte

无用苏大大的万能框架获取不到验证码。不是识别的问题
回复

使用道具 举报

 楼主| 发表于 2021-6-28 23:26:31 | 显示全部楼层
echoxxx 发表于 2021-6-23 18:08
http://www.sufeinet.com/thread-10024-1-1.html

重点 ResultType = ResultType.Byte

我发的这个地址你能取得到验证码吗?
回复

使用道具 举报

发表于 2021-6-29 11:08:38 | 显示全部楼层
flychen 发表于 2021-6-28 23:26
我发的这个地址你能取得到验证码吗?

自己动手丰衣足食,亲测可用,提问的时间干嘛不自己试一下呢?
[C#] 纯文本查看 复制代码
 private string GetHttp20210629105649()
        {
            SufeiUtil.HttpHelper http = new SufeiUtil.HttpHelper();
            SufeiUtil.HttpItem item = new SufeiUtil.HttpItem()
            {
                URL = "https://2724783958-wc.qq168.ws/code?_=1624336028178",
                Method = "GET",
                Host = "2724783958-wc.qq168.ws",
                UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
                Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
                ResultType = SufeiUtil.ResultType.Byte
            };
            item.Header.Add("Sec-Fetch-Site", "none");
            item.Header.Add("Sec-Fetch-Mode", "navigate");
            item.Header.Add("Sec-Fetch-User", "?1");
            item.Header.Add("Sec-Fetch-Dest", "document");
            item.Header.Add("Accept-Encoding", "gzip, deflate, br");
            item.Header.Add("Accept-Language", "zh-CN,zh;q=0.9");
            SufeiUtil.HttpResult result = http.GetHtml(item);

            System.Drawing.Image img = byteArrayToImage(result.ResultByte);
            string Temp = System.AppDomain.CurrentDomain.BaseDirectory + DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg";
            img.Save(Temp);

            return Temp;
            //string html = result.Html;
            //return html;
        }

        /// <summary>
        /// 字节数组生成图片
        /// </summary>
        /// <param name="Bytes">字节数组</param>
        /// <returns>图片</returns>
        private System.Drawing.Image byteArrayToImage(byte[] Bytes)
        {
            MemoryStream ms = new MemoryStream(Bytes);
            return System.Drawing.Bitmap.FromStream(ms, true);
        }

        private void Btn_get_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show(GetHttp20210629105649());
        }
回复

使用道具 举报

 楼主| 发表于 2021-7-9 20:52:19 | 显示全部楼层
clrscr 发表于 2021-6-29 11:08
自己动手丰衣足食,亲测可用,提问的时间干嘛不自己试一下呢?
[mw_shl_code=csharp,true] private string  ...

有时候正常获取,有时返回如下。


返回的Header:  
Connection:close  
X-Iinfo:8-78794085-0 0NNN RT(1625834752382 56) q(0 -1 -1 0) r(0 -1) B12(4,316,0) U10  
Content-Length:937  
Cache-Control:no-cache, no-store  
Content-Type:text/html  
Set-Cookie:visid_incap_2360639=5gLH8JMLRy6LZ4dEkLrQjvFE6GAAAAAAQUIPAAAAAADy9gZgl6ZLRkvbjuNAIYCh; expires=Sat, 09 Jul 2022 12:43:14 GMT; HttpOnly; path=/; Domain=.qq168.ws,incap_ses_571_2360639=Cuz+brBEwXIiuB4V2ZnsBwBF6GAAAAAADg/hdR6oxxKQoGL+PWimuQ==; path=/; Domain=.qq168.ws  
  
  
返回的Cookie:  
visid_incap_2360639=5gLH8JMLRy6LZ4dEkLrQjvFE6GAAAAAAQUIPAAAAAADy9gZgl6ZLRkvbjuNAIYCh; expires=Sat, 09 Jul 2022 12:43:14 GMT; HttpOnly; path=/; Domain=.qq168.ws,incap_ses_571_2360639=Cuz+brBEwXIiuB4V2ZnsBwBF6GAAAAAADg/hdR6oxxKQoGL+PWimuQ==; path=/; Domain=.qq168.ws  
  
最后访问URL:https://8646656691-ht.qq168.ws/login  
  
301跳转URL:  
  
返回的HTML:  
<html style="height:100%"><head><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"><meta name="format-detection" content="telephone=no"><meta name="viewport" content="initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><script type="text/javascript" src="/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3"></script></head><body style="margin:0px;height:100%"><iframe id="main-iframe" src="/_Incapsula_Resource?SWUDNSAI=31&xinfo=8-78794085-0%200NNN%20RT%281625834752382%2056%29%20q%280%20-1%20-1%200%29%20r%280%20-1%29%20B12%284%2c316%2c0%29%20U10&incident_id=571000410410498082-483875933342337608&edet=12&cinfo=04000000&rpinfo=0&cts=XP3cgbCzOItu9yLUr1rU0GOvX0UTJl%2bsAsPhFFjdzjtS8i%2bLB%2f1C%2fkCeRxOwky11&mth=GET" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: 571000410410498082-483875933342337608</iframe></body></html>  
回复

使用道具 举报

发表于 2021-7-10 16:49:41 | 显示全部楼层
flychen 发表于 2021-7-9 20:52
有时候正常获取,有时返回如下。

这个情况我没测试,看你说明是跳转到登录界面了,这个逻辑应该是:首先模拟打开登录页面,然后拿到Cookie等请求头信息,然后用这个页面的请求头,去请求这个页面的验证码地址,这样应该可以正常;
直接请求应该是被后台检测到,没有登录页面信息,就判断并不给予返回验证码,需要从登录页的信息才能返回验证码
你把登录页的请求头拿到直接加在这个验证码请求头中就行
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 15:39

© 2014-2021

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