苏飞论坛广告位

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

HttpHelper万能框架(V2.2) HttpHelper官方出品,无敌框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V1.9) 最牛的爬虫类,没有爬不到只有想不到 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 476|回复: 2

[HttpHelper] 爬虫遇到特殊cookie认证该如何办?

[复制链接]
  • TA的每日心情
    开心
    2018-3-31 21:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2018-5-10 21:45:19 | 显示全部楼层 |阅读模式
    我用HttpHelper做了一个简单的爬虫去抓取https://www.bitstamp.net/api/v2/order_book/btcusd/。但返回“"The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF"。发现此网站使用第三方([size=15.3333px]Incapsula)的cookie验证机制,[size=15.3333px]Incapsula的技术支持这样解释:”Section=ResponseHeader Detail=CR must be followed by LF error occurs as a   response to our cookie classification method.
      Basically, CR tells the cursor to move to the first position on the same   line, while LF tells the cursor to move to the next line. Combining them   together (<CR><LF>) makes the same effect as “Enter” does. The   request/status line and other header fields must each end with   <CR><LF>
      
      The cookies that Incapsula sends are "broken" on purpose, and they   include content whose purpose is to test how the client responds to an   irregular cookie - as part of our classification process. While browsers are   capable of handling such cookies, most bots aren't, and this is what serves   as a first line of defense against them.“


    大意是他们故意使用<CR><LF>这两个控制符来区分浏览器和爬虫,因为浏览器能够处理而爬虫一般没有预料到会出现这些控制符。网上有人建议在在app.config里加上
    [C#] 纯文本查看 复制代码
    <system.net> 
                <settings> 
                    <httpWebRequest useUnsafeHeaderParsing="true"/> 
                </settings> 
        </system.net>


    我试了好像不管用。我在HttpItem里hardcoded了我抓取的cookie,能用一阵子,最近又不能用了。 我想请教苏飞版主或其他高手该如何设置我的request参数或用其他办法绕过cookie验证。




  • TA的每日心情
    开心
    2018-3-31 21:04
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2018-5-10 22:53:39 | 显示全部楼层
    暂时解决。办法类似于:http://www.sufeinet.com/thread-19828-1-1.html

    询问分两步:1. 先询问母站,获取cookiecollection; 2. 进行询问前,设置cookiecollection为前面获得的值。Voila!

    还得给POSTMAN赞一个
  • TA的每日心情
    开心
    昨天 13:13
  • 签到天数: 570 天

    [LV.9]以坛为家II

    发表于 2018-5-11 18:02:26 | 显示全部楼层
    回复

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2018-8-19 10:25

    © 2017-2018

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