目标:
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);