我正在使用请求方法获取文件流,它适用于所有pdf文件,但是当我尝试获取https://arxiv.org网站pdfs(https://arxiv.org/pdf/1611.10012.pdf)时,它无效。
对于https://arxiv.org/网站pdf,它提供403 fobidden状态代码,而对于其他网站pdf文件,它返回200状态代码。
以下是我获取其他网站pdfs的代码
request('http://uberthings.com/mobile/intro_to_mobile.pdf', function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
});
//返回200状态代码
以下是https://arxiv.org其他网站pdfs的代码
request('https://arxiv.org/pdf/1611.10012.pdf', function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
});
//返回403状态代码
任何想法为什么特定网站(https://arxiv.org/pdf/1611.10012.pdf)的请求方法不起作用?
答案 0 :(得分:2)
拒绝访问403。 遗憾的是,您的客户端没有提供适当的用户代理,因此被排除在外。
修复此请求标头中的User-Agent
var options = {
url: 'https://arxiv.org/pdf/1611.10012.pdf',
headers: {
'Referer': 'https://arxiv.org',
'User-Agent': 'stagefright/1.2 (Linux;Android 5.0)'
}
}
request(options, function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
});
的用户代理列表