我向rss Feed提出了一个简单的请求:
var request = require('request');
var req = request('http://www.govexec.com/rss/contracting/');
req.on('error', function (error) {
console.log('error:',arguments);
});
req.on('response', function (res) {
var stream = this;
if (res.statusCode != 200) return this.emit('error', new Error('Bad status code'),res.statusCode);
});
输出为error: { '0': [Error: Bad status code], '1': 500 }
但是,如果我从浏览器中点击网址,或者执行简单的curl请求,我会得到正确的响应
curl 'http://www.govexec.com/rss/contracting/'
答案 0 :(得分:2)
每个人说,这不是一个编程问题。
大多数网站都希望您根据自己的请求发送标题 user-agent 。对你提供的网站来说似乎也是这样。
修复此操作非常简单,因为您可以像这样使用包含用户代理:
var req = request({
url:'http://www.govexec.com/rss/contracting/',
headers: {
'User-Agent': 'request'
}
});