美文网首页
当爬虫遇到CSRF 验证(__RequestVerificati

当爬虫遇到CSRF 验证(__RequestVerificati

作者: 芝麻的绿豆 | 来源:发表于2018-08-23 15:54 被阅读0次

        __RequestVerificationToken 存在在POST 的表单中(图1),其是为了防止CSRF 跨站攻击。但我们在爬虫时候,需求通过提交POST 表单以获取数据时候,如何破解CSRF呢?

    图1 post 表单

    下面以某货运航空网站为例(https://comisportal.thy.com/public/shipment-tracking-public)。

    第一步 寻找__RequestVerificationToken 值

    用Python的requests 的请求查询界面的URL,respond 得到的HTML。

    图2 查询界面

    在浏览器端查询网页源代码,仔细检查网页源代码。

    图3  网页源代码

    我们可以发现在一个name="__RequestVerificationToken" input标签,与图一中的表单数据csrf  的命名一致, 其对应的值就input 的value 属性。利用Python 的 HTML 元素的筛选工具(Xpath, pyquest, 正则.....自由发挥),得到value的值。

    第二步 构造POST 请求

    构造requests POST 请求:header  将得到的value 放入post 的表单中,提交。

    相关文章

      网友评论

          本文标题:当爬虫遇到CSRF 验证(__RequestVerificati

          本文链接:https://www.haomeiwen.com/subject/yiqmiftx.html