目标:1.从我的GET请求响应正文中提取csrf
值2.将提取的“ csrf”值存储在环境变量中3.在后续的POST请求中使用它。
这是我的邮递员回复正文-Postman response body
我可以使用以下代码提取'var SETTINGS'。
const $ = cheerio.load(responseBody);
const text = $('script[data-container=true]').html();
var matchSETTINGS = text.match(/var SETTINGS = (.*);/);
console.log(matchSETTINGS)
如何从提取的“ var SETTINGS”中提取csrf?
这有点复杂,但是可以通过多种方式实现。在这里,我向您展示了一种静态方式,请根据您的要求进行更改。
邮递员支持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);