我正在使用请求nodejs模块获取网站的html,如下所示:
var request = require('request');
request("http://www.thenewschool.org/", function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log("body>>>>>>>>>>");
} else {
console.log("error>>>>>>>>>"+error);
console.log("response statusCode>>>>>>>>>"+response.statusCode);
console.log("response body>>>>>>>>>"+response.body);
}
})
这给了我这个输出
错误>>>>>>>>>空
响应statusCode>>>>>>>>>> 403
回复正文>>>>>>>>>>抱歉,此请求已被阻止 无效的用户代理。
大多数情况都是如此,但在这种情况下失败,有人可以帮我解决这个问题。
答案 0 :(得分:9)
您只需在标题中传递user-agent
(因为网址需要它),例如:
var options = {
headers: {'user-agent': 'node.js'}
}
request("http://www.thenewschool.org/", options, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log("body>>>>>>>>>>" + body);
} else {
console.log("error>>>>>>>>>"+error);
console.log("response statusCode>>>>>>>>>"+response.statusCode);
console.log("response body>>>>>>>>>"+response.body);
}
})
答案 1 :(得分:5)
您收到的是HTTP 403错误代码:禁止访问。
这可能意味着您的请求已被"配置文件"作为"我们不希望你在这里" :