node.js - 请求总是返回空错误对象

标签 node.js http request runtime-error

我正在使用 Request和标准Node.js HTTP编写简单休息服务的模块。

现在,服务器端请求处理程序如下所示:

response.writeHead("400","Nope");
response.end();

客户端代码如下所示:

request.get(href,handleResponse);
function handleResponse(error,response,body) {

   console.log(arguments);
}

response.statusCode400,但 error 始终为 null

我需要在服务器端做什么才能让请求模块识别响应是错误的?

最佳答案

成功收到请求响应,没有错误。只有在请求本身出错时才会填充错误对象,如果响应表示错误则不会填充。来自文档:如果在请求期间遇到任何错误(DNS 解析、TCP 级别错误或实际的 HTTP 解析错误),则会在返回的请求对象上发出“错误”事件。

请求 --> 成功的响应(可能代表远程错误)--> 填充的响应

请求 --> 本地发生错误或与远程通信(无响应或无法识别的响应)--> 错误填充

关于node.js - 请求总是返回空错误对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31128397/

相关文章:

node.js - WIndows 10 上 Msysgit 上的 Node cli

http - 当 header 为 { 'Authorization' : 'Bearer ' + token } 时,req.body 为空

rest - HTTP POST 请求正文中的备用字段

node.js - Mikeal 的 NodeJS 请求在管道之前修改主体

node.js - 如何通过 Express.js 中的请求传递响应?

json - Grails - 使用 JSON 启动域类

javascript - 写入 promise 文件

node.js - Mongoose/MongoDb 收到错误 geoNear 不是函数

sql - 如何从 Node 将表值参数插入到 Sql Azure 中?

Python Requests 库重定向新的 url