目标:
1. 从 GET 请求响应正文中提取 csrf
值
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);
关于java - 使用cheerio从html中提取csrf值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59960460/