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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 39620|回复: 17
打印 上一主题 下一主题

[教程] 【HttpHelper万能框架教程】- 获取图片验证码

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-9 16:10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
导读部分

【HttpHelper万能框架】教程目录贴  http://www.sufeinet.com/thread-9989-1-1.html


教程部分


方法签名如下
[C#] 纯文本查看 复制代码
  /// <summary>        /// 根据Url获取图片
        /// </summary>
        /// <param name="item">HttpItem参数</param>
        /// <returns>返回图片,错误为NULL</returns>
        public Image GetImage(HttpItem item)


使用教程
有两种方法获取图片。

第一种是直接使用配置生成。这种需要大家自己写转化图片的方法,和配置参数,如下
[C#] 纯文本查看 复制代码
 protected void Page_Load(object sender, EventArgs e)
        {

            HttpHelper http = new HttpHelper();
            HttpItem item = new HttpItem()
            {
                URL = "http://www.sufeinet.com/template/veikei_dz_life_20130810_plus/images/logo.png?2014-06-06",
                Method = "get",//URL     可选项 默认为Get   
                ResultType = ResultType.Byte
            };
            HttpResult result = http.GetHtml(item);
            Image img = byteArrayToImage(result.ResultByte);

        }

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

这种方法功能比较强大,大家可以随意配置,但是也有不好的地方就是。不太方便。



万能框架还提供一种获取图片的方法,如下所示
[C#] 纯文本查看 复制代码
   HttpHelper http = new HttpHelper();
            HttpItem item = new HttpItem()
            {
                URL = "http://www.sufeinet.com/template/veikei_dz_life_20130810_plus/images/logo.png?2014-06-06",
                Method = "get",//URL     可选项 默认为Get   
            };
            Image img = http.GetImage(item);

是的你没有看错,就是只需要调用一个方法就OK


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
沙发
发表于 2014-9-14 20:00:56 | 只看该作者
每次请求都会获取一个新的session,图片地址是带session参数的

每次获得图片地址后,输入验证码去访问,这个时候验证码其实是新的session的验证码,这样每次都是验证码错误?如何破?
板凳
 楼主| 发表于 2014-9-14 21:03:10 | 只看该作者
jmoney 发表于 2014-9-14 20:00
每次请求都会获取一个新的session,图片地址是带session参数的

每次获得图片地址后,输入验证码去访问, ...

使用登录页面Cookie,Cookie里有SessionID,使用这个SessionID去获取就行 了
地板
发表于 2014-9-24 00:04:36 | 只看该作者
学习中。
回复

使用道具 举报

5
发表于 2014-10-17 09:45:22 | 只看该作者
强烈支持楼主ing……
6
发表于 2014-11-27 11:19:53 | 只看该作者
是否可以获取验证码后直接输入到框格中模拟登录呢?
7
发表于 2015-3-23 14:04:03 | 只看该作者
万能框架还提供一种获取图片的方法 我用控制台弄好像不行啊 运行后提示System.Drawing.Bitmap 怎么变成字节数组
8
 楼主| 发表于 2015-3-23 14:06:08 | 只看该作者
329616 发表于 2015-3-23 14:04
万能框架还提供一种获取图片的方法 我用控制台弄好像不行啊 运行后提示System.Drawing.Bitmap 怎么变成字节 ...

用第一种方式获取的就是字节
9
发表于 2015-5-8 12:46:04 | 只看该作者
强烈支持楼主ing……
10
发表于 2016-5-11 08:23:16 | 只看该作者
强烈支持楼主ing……
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-15 06:50

© 2014-2021

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