nodejs 发送xml请求中带中文字符 请求失败 怎么解
发布于 6 年前 作者 dulante 8194 次浏览 最后一次编辑是 4 年前 来自 问答

发送xml请求时候 参数中中文就报错 英文就正常 代码报错提上 求大神帮忙看看

var http = require(‘http’); var shortName = ‘中文’; var data = ‘<Request>’ + ’<customCode>’ + ‘customCode’ + ‘</customCode>’ + //自定义识别 ’<shortName>’ + shortName + ‘</shortName>’ + //视频简称 ’</Request>’; console.log(‘send Date:’ + data); var opt = { method: “POST”, host: ‘10.10.57.154’, port: 8008, headers: { ‘Content-Type’:‘text/xml; charset=utf-8’, “Content-Length”: data.length } }; var reqVideo = http.request(opt, function (serverFeedback) { serverFeedback.setEncoding(‘utf8’); console.log(‘getVideo:’ + serverFeedback.statusCode); if (serverFeedback.statusCode == 200) { console.log(serverFeedback.statusCode) } else { console.log(serverFeedback.statusCode) } }) reqVideo.write(data + “\n”); reqVideo.end();

报错: events.js:72 throw er; // Unhandled ‘error’ event ^ Error: socket hang up at createHangUpError (http.js:1472:15) at Socket.socketOnEnd [as onend] (http.js:1568:23) at Socket.g (events.js:180:16) at Socket.emit (events.js:117:20) at _stream_readable.js:938:16 at process._tickCallback (node.js:419:13)

5 回复

中文转码一下不可以?

@baixuexiyang 可以 但是接的时候还得再decode一下

不要手动做这事就少了很多麻烦,用 superagent 这个库吧

@alsotang 恩 用这个解决了 搜商捉急啊

@alsotang 追问下 如何接收chunked 我现在从express返回的可以正常接收 text: ‘<response><<retCode>0</retCode></response>’, 但是从Apache返回的会是undefined. text: undefined

回到顶部