Nodejs发送Post请求时出现socket hang up错误的解决办法

参考nodejs官网发送http post请求的方法,实现了一个模拟post提交的功能。实际使用时报socket hang up错误。

后来发现是请求头设置的问题,发送选项中需要加上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();
复制代码
posted @   StanZhai  阅读(20011)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示