是否可以通过网络浏览器在Node.js中使用请求模块或类似模块发送请求。我正在尝试加载一个URL,但它在CURL和node.js请求响应中给出了不同的结果。 用简单的话说,我试图从URL中获取数据,它在浏览器和curl中显示正确的结果,但是在nodejs脚本中显示不同的结果。我试图通过发送相似的标头来伪造浏览器,但仍然能够检测到它。
这是我的nodejs代码
var request = require('request');
var headers = {
'Connection': 'keep-alive',
'Cache-Control': 'max-age=0',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9',
'If-None-Match': 'W/"aa-z+ebXSEdArbZ+EXlN/WQjf6HV8c"',
'Cookie': '_user=331kwr234'
};
var options = {
url: 'http://www.example.com/',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);