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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 10275|回复: 9

[教程] 万能框架-设置所使用的解压缩类型

[复制链接]
发表于 2015-8-11 10:31:19 | 显示全部楼层 |阅读模式
导读部分

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

本功能可在线测试http://tool.sufeinet.com/HttpHel ...http://sufeinet.com
教程部分

方法很简单如下
[C#] 纯文本查看 复制代码
            //创建Httphelper对象
            HttpHelper http = new HttpHelper();
            //创建Httphelper参数对象
            HttpItem item = new HttpItem()
            {
                URL = "http://www.sufeinet.com",//URL     必需项    
                Method = "get",//URL     可选项 默认为Get   
                ContentType = "text/html",//返回类型    可选项有默认值   
                //ContentType = "application/x-www-form-urlencoded",//返回类型    可选项有默认值  
                AutomaticDecompression = DecompressionMethods.None
            };
            //请求的返回值对象
            HttpResult result = http.GetHtml(item);
            //获取请请求的Html
            string html = result.Html;
            //获取请求的Cookie
            string cookie = result.Cookie;

这个只有设置了AutomaticDecompression = DecompressionMethods.None才会有效


DecompressionMethods有多个选项,如下
[C#] 纯文本查看 复制代码
  // 摘要:
    //     表示文件压缩和解压缩编码格式,该格式将用来压缩在 System.Net.HttpWebRequest 的响应中收到的数据。
    [Flags]
    public enum DecompressionMethods
    {
        // 摘要:
        //     不使用压缩。
        None = 0,
        //
        // 摘要:
        //     使用 gZip 压缩/解压缩算法。
        GZip = 1,
        //
        // 摘要:
        //     使用 Deflate 压缩/解压缩算法。
        Deflate = 2,
    }


好了,大家有需要的自己调用吧。




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-12-7 15:52:09 | 显示全部楼层
本帖最后由 w20619543 于 2015-12-7 15:58 编辑
站长苏飞 发表于 2015-12-7 13:44
解压缩,我的类是自动的,不需要,应该不是这个问题,那个属性是让压缩的,不是解压缩

那站长,你觉得这个应该是什么问题呢,是不是编码的问题,我比较小白,帮帮我吧  谢谢post地址:http://api.xiaokaxiu.com/member/api/login
post数据:_secdata=j046w7XfVkP40PRCWwBDtA6dX2vslbfKoM6OcUVTCv84yyP-19lsvT_REh7R65-jEfWlr9sHvoxUFtUd6lV6_ahVcoAD1hpm21BLG4x3tH6vXacagTuaQwG5pXgMwkm0w9xuCrG0EdzUuiGFVaSqri6PUjN2nX_B_E87dKW9kuNquSpQu_VWPzynHDs04xHMevlNg6ZMMVrrUZnojnJtRCc9nlvxZCD1_d76Qaw0MMXtpfq8qYXNaaECnNyxzAM4jbDL3aGKyn3P3bhPObrWsZZYVvB7HBaKypUdVWXD3AZZwQ3tRzNk1tNG4c7WD8o3HlqErjdHamV1H1fBZv5Kef4NASruiKuXbNx7AQ..&loginname=15517353408&password=123456

QQ截图20151207131855.jpg
 楼主| 发表于 2015-12-7 13:44:40 | 显示全部楼层
w20619543 发表于 2015-12-7 13:37
是的哦,我先用易语言测试了,返回的信息的确压缩了,需要解压。易语言需要这样 Utf8ToAnsi (ZLIB解压( ...

解压缩,我的类是自动的,不需要,应该不是这个问题,那个属性是让压缩的,不是解压缩
发表于 2015-12-7 13:37:23 | 显示全部楼层
站长苏飞 发表于 2015-12-7 13:31
你确定这是压缩,我看着不像啊

是的哦,我先用易语言测试了,返回的信息的确压缩了,需要解压。易语言需要这样 Utf8ToAnsi (ZLIB解压(返回流))才能解析出来
 楼主| 发表于 2015-12-7 13:31:17 | 显示全部楼层
w20619543 发表于 2015-12-7 13:18
是接收的需要解压缩
这是抓的包

你确定这是压缩,我看着不像啊
发表于 2015-12-7 13:18:22 | 显示全部楼层
本帖最后由 w20619543 于 2015-12-7 13:19 编辑

是接收的需要解压缩 QQ截图20151207131855.jpg
这是抓的包
 楼主| 发表于 2015-12-7 13:09:19 | 显示全部楼层
w20619543 发表于 2015-12-6 01:03
请问,我post登录的时候返回经过了gzip压缩,我加了这个属性没起作用啊,应该怎么用呢,谢谢
[mw_shl_code ...

是你发送的需要压缩,还是接收的压缩了你需要解压
发表于 2015-12-6 01:03:42 | 显示全部楼层
请问,我post登录的时候返回经过了gzip压缩,我加了这个属性没起作用啊,应该怎么用呢,谢谢
[C#] 纯文本查看 复制代码
HttpHelper httpLogin = new HttpHelper();
                HttpItem itemLogin = new HttpItem()
                {
                    URL = "http://api.xiaokaxiu.com/member/api/login",//URL     必需项    
                    Method = "post",//URL     可选项 默认为Get   
                    //IsToLower = false,//得到的HTML代码是否转成小写     可选项默认转小写   
                    //Cookie = "",//字符串Cookie     可选项   
                    //Referer = "",//来源URL     可选项   
                    Postdata = postData,//Post数据     可选项GET时不需要写   
                    Timeout = 100000,//连接超时时间     可选项默认为100000    
                    ReadWriteTimeout = 100000,//写入Post数据超时时间     可选项默认为30000   
                    //UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",//用户的浏览器类型,版本,操作系统     可选项有默认值   
                    ContentType = "application/x-www-form-urlencoded",//返回类型    可选项有默认值   
                    Allowautoredirect = false,//是否根据301跳转     可选项   
                    //CerPath = "d:\123.cer",//证书绝对路径     可选项不需要证书时可以不写这个参数   
                    //Connectionlimit = 1024,//最大连接数     可选项 默认为1024    
                    //ProxyIp = "",//代理服务器ID     可选项 不需要代理 时可以不设置这三个参数    
                    //ProxyPwd = "123456",//代理服务器密码     可选项    
                    //ProxyUserName = "administrator",//代理服务器账户名     可选项   
                    //ResultType = ResultType.string,
                    AutomaticDecompression = DecompressionMethods.GZip    
                };
                HttpResult resultLogin = httpLogin.GetHtml(itemLogin);
                string returnHtmlLogin = resultLogin.Html;
                string returnCookieLogin = resultLogin.Cookie;
发表于 2015-8-12 20:34:19 | 显示全部楼层
幸苦   幸苦了
发表于 2015-8-11 14:14:05 | 显示全部楼层
幸苦   幸苦了
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-18 14:55

© 2014-2021

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