我试图抓取一个网站,但是网站使用ajax请求并使用令牌来获取JSON数据。如何传递令牌,或者还有另一种获取JSON的方法?
这是上面链接中的令牌:
authenticityToken=36624c05b9a89a02d40023a5aa4fab618c0478f9&_=1573183784040
和一些请求标题:
headers: {
"Content-Type": "application/json","Connection": "keep-alive","accept": "application/json","X-Requested-With": "XMLHttpRequest","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/78.0.3904.97 Safari/537.36","accept-Language": "en-US,en;q=0.9,id;q=0.8",}
这是我的请求代码:
exports.makeRequestGet = async (url) => {
console.log(url)
var options = {
method: "GET",url: url,headers: {
"Content-Type": "application/json","User-Agent": "PostmanRuntime/7.19.0",},json: true
};
return new Promise((resolve,reject) => {
request(options,function (error,response,body) {
if (error) {
console.log(error)
return reject(error);
};
console.log(response.headers)
return resolve(body)
});
});
};
但结果是:
"result":"Bad authenticity token"