Node.js POST请求报Socket Hang Up错误的排查与修复
作者:终端旅客时间:2026-10-28 14:23:02浏览:638
本文解决Node.js发送HTTP POST请求时出现的Socket Hang Up错误。该问题通常由请求头缺失或不完整导致,特别是未正确设置Content-Type和Content-Length。通过补充完整的headers配置,可确保请求被服务器正常接收,避免连接被提前关闭。
Node.js POST请求Socket Hang Up错误排查与修复
参考Node.js官方文档中关于发送HTTP POST请求的示例,开发了一个模拟POST提交的功能。但在实际运行过程中,程序抛出了socket hang up错误。
经过排查,发现错误原因在于请求头(headers)配置不完整。在发送选项(options)中必须显式添加headers字段,否则服务器可能因接收到不完整的POST请求头而直接丢弃连接。这一行为可能与目标服务器的实现机制有关。
以下是完整的修复后代码,供遇到类似类型错误的开发者参考。
代码如下:
var querystring = require('querystring')
, http = require('http');
var data = querystring.stringify({
info:'hi',
test:5
});
var opt = {
hostname:'www.test.com',
port :9094,
path:'/perationSqlQuery',
method: 'POST',
headers: {
'Content-Type':'application/x-www-form-urlencoded',
'Content-Length': data.length
}
};
var req = http.request(opt, function (res) {
res.on('data', function (data) {
console.log(data.toString());
});
});
req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
req.write(data);
req.end();作者最新文章
Java和JavaScript的应用场景分工:后端企业级开发与Web前端交互
2026-11-05 15:57:34
除了浏览器和Node.js,还有哪些轻量级Js脚本运行工具?
2026-11-04 17:38:24
无需后端:用JavaScript实现简单网站的本地数据存储
2026-11-03 23:03:30
Node.js 下载慢或官网打不开怎么办
2026-11-03 18:19:37
JS解析大体积Excel文件内存溢出怎么办
2026-11-03 18:19:37
相关标签:
