java - 用cheerio从html中提取csrf值
问题描述
目标:1.csrf
从我的 GET 请求响应正文中提取值 2.将提取的“csrf”值存储在环境变量中 3.在后续 POST 请求中使用它。
找到解决方案并开始工作: var matchSETTINGS Cheerio.load(responseBody); 提炼var matchSETTINGS = text.match(var a= (.*););
解决方案
这有点复杂,但可以通过多种方式实现。在这里,我向您展示一种静态方式,根据您的要求进行更改。
Postman 支持Cheerio库,您可以使用它来解析 HTML 响应。
var html = cheerio(responseBody);
//get script tag data
var htmlData = html[14].children[1].children[5].children[0].data;
var csrfIndex = htmlData.search(/'csrf'/i);
var dataBeforeCsrf = htmlData.slice(0, csrfIndex);
//remove content before csrf node
htmlData = htmlData.replace(dataBeforeCsrf, '');
//to make it in right format of JSON, replace single quote with double,
//remove ; and add bracket
htmlData = htmlData.replace(/'/g, '"');
htmlData = htmlData.replace(';', '');
//parse to JSON
var jsonData = JSON.parse('{' + htmlData);
//print csrf
console.log(jsonData.csrf);
推荐阅读
- android - 如何设置视图不可聚焦的android?
- angular - 以角度为生成的表格中的前 3 行设置独特的设计或颜色
- jquery - 在函数表达式中添加的事件监听器立即执行
- java - Tomcat 管理器 - 更改 sessionList.jsp
- amazon-web-services - Provision 设置为 true,但 /root/.aws/credentials 中不存在凭证文件。请安装到此位置并重试。适用于 AWSGreengrassV2
- sql - Databricks spark sql 以显示来自散列字符串的关联字符串
- python - python parser.parse_args() 截断字符串
- vue.js - VueJS:如何在 Aloglia 搜索输入字段中删除大纲
- c# - C# 使用 lat/long 数组计算多个曲率
- google-sheets - 如何在公式计算中输入静态日期?