Node.js:使用“原始”格式执行POST请求的最佳方式?

时间:2014-10-20 13:40:42

标签: xml node.js post

我希望从我的NodeJS服务器执行POST请求。它需要发送原始的xml数据。

请问推荐的方法是什么?

编辑:添加我当前的沙箱。还没有成功!

var express    = require('express');        // call express
var app        = express();                 // define our app using express
var bodyParser = require('body-parser');

// configure app to use bodyParser()
// this will let us get the data from a POST
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(bodyParser());

  var data = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.__DOMAIN__.com"><soapenv:Header><api:userToken><password>pwd1</password><username>usr_api</username></api:userToken></soapenv:Header><soapenv:Body><api:SearchModels><!--Optional:--><searchText>keyword</searchText></api:SearchModels></soapenv:Body></soapenv:Envelope>';

  var options = {
     host: 'www.__MY_END_POINT_.com', port:443,
     method: 'POST',
     headers: {
    'Content-Type': 'text/xml',
    'Content-Length': data.length
    }
  };

  var req = http.request(options, function(res)
  {
      res.setEncoding('utf8');
      res.on('data', function (chunk) {
     console.log("body: " + chunk);
   });
  });
  req.write(data);
  req.end();

谢谢, 学家

1 个答案:

答案 0 :(得分:1)

好的,我对所需的模块错了。

错误: var http = require('http');

好方法: var https = require('https');