文档章节

正则表达式获取 xsrf token

兔之
 兔之
发布于 2015/12/09 19:40
字数 163
阅读 221
收藏 0

最近想用爬虫爬一下知乎的数据,需要获取网页里的防止 xsrf 的标记。

(?<=pattern)

“(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”,但不能匹配“3.1Windows”中的“Windows”。

即略去括号中的部分,只提取括号后的部分。

(?=pattern)

“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。

即略去括号中的部分,只提取括号前的部分。

实现

    s = requests.session()

    def get_xsrf(url=None):
        r = s.get(url, headers=headers_base)
        xsrf = re.search('(?<=name="_xsrf" value=")[^"]*(?="/>)', r.text)
        if xsrf == None:
            return ''

text 格式为 '<input type="hidden" name="_xsrf" value="048ccfe3d47298fdcf31f9a6a44971a4"/>'

使用 [^"]* 来提取 token 字符串,同时略去不需要的部分。

© 著作权归作者所有

兔之
粉丝 69
博文 250
码字总数 96477
作品 7
深圳
程序员
私信 提问
使用jMeter构造逻辑上有依赖关系的一系列并发请求

相信前端开发工程师对CSRF(Cross-site request forgery)跨站请求伪造这个概念都非常熟悉,有的时候也简写成XSRF,是一种对网站的恶意利用。 尽管听起来像跨站脚本(XSS),但它与XSS非常不...

JerryWang_SAP
01/15
7
0
jmeter中使用正则表达式之后遇到的问题

大家好,我使用Jmeter的正则表达式时遇到一个问题: 上一个接口返回的参数使用Json格式如下: "auth_token": "NjgzMzY3OWVjMjJhNGJlOGJhOGJmYTlhMjVmNzk5Y2Q=\n" 我使用了正则表达式提取: ...

vio_2016
2016/12/01
1K
1
jmeter 正则获取多个返回token至本地文件,并跨线程组调用

1、打开jmeter,创建setup Thread Group 对于setup Thread Group和tearDown Thread Group来说,从字面意思上来看就是安装线程组和卸载线程组,所以可以理解为对于线程组的初始化和完成时处理...

xiaoshushu1991
2018/08/06
0
0
Tornado学习笔记(三)

记录一些Tornado中的常用知识。 获取远端IP,直连tornado,用self.request.remote_ip,如果是走nginx反向代理方式,需要在nginx中的Server/Location配置如下 proxy_pass http://data.xxx.com...

Slaytanic
2015/08/11
0
0
.NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理

通过 ASP.NET Core,开发者可轻松配置和管理其应用的安全性。 ASP.NET Core 中包含管理身份验证、授权、数据保护、SSL 强制、应用机密、请求防伪保护及 CORS 管理等等安全方面的处理。 通过这...

依乐祝
01/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

领域驱动中的“贫血症和失忆症” --实践领域驱动--原文

贫血症严重危害着人类健康,并且伴随有危险的副作用。当贫血领域对象被首次提出来时,它并不是一个博得赞美的词汇,它描述的是一个缺少内在行为领域对象。奇怪的是,人们对于贫血领域对象的态...

还仙
20分钟前
5
0
条码打印软件中标签预览正常打印无反应怎么解决

在使用条码打印软件制作标签时,有客户反馈,标签打印预览正常的,但是打印无反应,咨询是怎么回事?今天针对这个情况,可以参考以下方法进行解决。 一、预览正常情况下,打印没反应 (1)在条码...

中琅软件
30分钟前
5
0
判断字符串的时候

判断字符串的时候一定把常量房前边, //报警程度 String leve = vo.getDeviceAlertDeal().getWarnLevel(); if(("0").equals(leve)) { row.add("无报警"); }else if(("1").equals(leve)) { ro......

简小姐
30分钟前
7
0
Linux maven3.6.2 install

PS:安装 maven 之前请先安装 jdk 1.安装 wget 命令(安装过就不用了) yum -y install wget 2.寻找需要的 maven 版本 https://maven.apache.org/download.cgi 3.进入 /var/local 文件夹 cd...

东方神祇
32分钟前
5
0
Tomcat源码分析二:先看看Tomcat的整体架构

Tomcat源码分析二:先看看Tomcat的整体架构 Tomcat架构图 我们先来看一张比较经典的Tomcat架构图: 从这张图中,我们可以看出Tomcat中含有Server、Service、Connector、Container等组件,接下...

flygrk
35分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部