Node.js 试图做一个';邮政';与节点的请求

Node.js 试图做一个';邮政';与节点的请求,node.js,http,curl,https,Node.js,Http,Curl,Https,我试图在node.js中使用request或http/https(或其他任何东西,如果这两种方式都不可能的话)执行以下cUrl请求 到目前为止,我得到的是: var options = { "hostname": "https://somedomain.com/rest/", "method": 'POST', "headers" : { "customeHeader" : "customeHeader" }

我试图在node.js中使用request或http/https(或其他任何东西,如果这两种方式都不可能的话)执行以下cUrl请求

到目前为止,我得到的是:

var options = {
        "hostname": "https://somedomain.com/rest/",
        "method": 'POST',
        "headers" : {
            "customeHeader" : "customeHeader"
        },
        "secureProtocol" : "SSLv3_method",
        "rejectUnauthorized" : false
    };

    var req = https.request(options, function(res) {
        res.on('data', function(d) {
            console.log(d);
            //process.stdout.write(d);
        });
    });
    req.end();

    req.on('error', function(e) {
        console.error(e);
    });
}

我想我只是缺少了Post字段(-d),或者上面的内容完全错误了

您需要使用req.write编写您的帖子正文:

req.write(JSON.stringify(someObj));
还将
内容类型
标题设置为
application/json

下面是一个完整的示例:

var request = require('https').request,
    parseUrl = require('url').parse;

var options = parseUrl('https://somedomain.com/rest');
options.method = 'POST';
options.headers = {
  'Content-Type': 'application/json'
};

var req = request(options, function (res) {
  res.on('data', function (d) {
    console.log(d.toString());
  });
});

req.write(JSON.stringify({a: 1, b: 2}));

req.end();

这对我来说是一个潜在的问题:
“主机名”:https://somedomain.com/rest/“
。您给定的值不是主机名,而是URL
somedomain.com
是主机名。
http.request
方法采用了一个
path
选项,您应该将该选项与URL的其余部分一起提供。不管怎样,如果您能告诉我们您遇到了什么错误(如果有),或者您遇到了什么行为,以及它与您期望的有什么不同,这将是非常有帮助的。Jordan感谢上面的提示,我刚刚找到了这些提示,是的,协议/URI不应该在主机名中提供,我现在唯一缺少的是如何/在哪里包括帖子字段。我认为你会发现这篇帖子上的答案和评论很有用:
var request = require('https').request,
    parseUrl = require('url').parse;

var options = parseUrl('https://somedomain.com/rest');
options.method = 'POST';
options.headers = {
  'Content-Type': 'application/json'
};

var req = request(options, function (res) {
  res.on('data', function (d) {
    console.log(d.toString());
  });
});

req.write(JSON.stringify({a: 1, b: 2}));

req.end();