Node.js 节点libcurl在POST上获取错误的IP地址

Node.js 节点libcurl在POST上获取错误的IP地址,node.js,express,curl,node-libcurl,Node.js,Express,Curl,Node Libcurl,我是nodejs的新手,所以这可能是操作员错误,但我正在尝试向PayPay的测试URL发出POST请求。我尝试在nodejs中使用http请求,但得到了一个奇怪的响应。我能够让curl在命令行上工作,所以我想我应该在node中使用curl 在bash中运行以下curl命令时,它可以工作: curl -v --data "USER=myLogin&VENDOR=myLogin&PARTNER=PayPal&PWD=QQQQQQQQQ&CREATESECURETOKE

我是nodejs的新手,所以这可能是操作员错误,但我正在尝试向PayPay的测试URL发出POST请求。我尝试在nodejs中使用http请求,但得到了一个奇怪的响应。我能够让curl在命令行上工作,所以我想我应该在node中使用curl

在bash中运行以下curl命令时,它可以工作:

curl -v --data "USER=myLogin&VENDOR=myLogin&PARTNER=PayPal&PWD=QQQQQQQQQ&CREATESECURETOKEN=Y&SECURETOKENID=fb7810e9-252b-4613-a53b-6432148bfd97&TRXTYPE=S&AMT=100.00" https://pilot-payflowpro.paypal.com
我得到以下结果(我知道使用了安全令牌,但这表明curl调用起作用了):

当我通过浏览器执行GET时,我会将以下信息转储到控制台:

Data = USER=myLogin&VENDOR=myLogin&PARTNER=PayPal&PWD=QQQQQQQQ&CREATESECURETOKEN=Y&SECURETOKENID=4b8f0763-2d09-4c2a-a57e-f5a4dc5be744&TRXTYPE=S&AMT=100.00
*   Trying 209.15.13.134...
* connect to 209.15.13.134 port 443 failed: Connection refused
* Failed to connect to pilot-payflowpro.payapl.com port 443: Connection refused
* Closing connection 0
出于无法解释的原因,在node libcurl调用中,使用了不同的IP地址。curl命令行调用使用:173.0.82.163,但节点libcurl使用:209.15.13.134。我很好奇为什么。如果有什么方法可以让我调试得更好,请告诉我


提前谢谢

看来至少URL中的域有输入错误,应该是paypal.com而不是payapl.com(这是一个欺诈/垃圾邮件网站)。

我很好奇,为什么要在节点的内置
https
模块上使用libcurl绑定?是的。。。这就是我开始的地方。我得到的是以下错误:{error:Socket.socketOnData(_http_client.js:362:20)emitOne(events.js:96:13)Socket.emit(events.js:188:7)readableAddChunk(_stream_readable.js:176:18)Socket.readable.push(_stream_readable.js:134:10)TCP.onread(net.js:551:20)的解析错误bytesParsed:0,代码:“HPE\u无效\u常量”}是因为域名错误吗?我想你是想去paypal.com而不是payapl.com(这是一个欺诈/垃圾邮件网站)?是的,就是!!与预期一样,curl调用的运算符错误。我不知道为什么http请求会失败,因为URL看起来是这样的,对吧,但我会再次验证。你能把这个作为答案,这样我就可以给你评分了吗?我检查了几次URL,包括curl调用中的剪切和粘贴,但是错误的URL悄悄出现了。谢谢谢谢你找到那个。
var newSId = uuid.v4();
var curl = new Curl();
var url = 'https://pilot-payflowpro.payapl.com/';
var data = {
  'USER': 'myLogin',
  'VENDOR': 'myLogin',
  'PARTNER': 'PayPal',
  'PWD': 'QQQQQQQQQQQ',
  'CREATESECURETOKEN': 'Y',
  'SECURETOKENID': newSId,
  'TRXTYPE': 'S',
  'AMT': '100.00'
};

data = qstr.stringify(data);

console.log("Data = " + data);

curl.setOpt(Curl.option.URL, url);
curl.setOpt(Curl.option.POSTFIELDS, data);
curl.setOpt(Curl.option.POST, 1);
curl.setOpt(Curl.option.VERBOSE, true);

curl.perform();

curl.on('end', function(statusCode, body){
   this.close();
});

curl.on('error', curl.close.bind(curl));
Data = USER=myLogin&VENDOR=myLogin&PARTNER=PayPal&PWD=QQQQQQQQ&CREATESECURETOKEN=Y&SECURETOKENID=4b8f0763-2d09-4c2a-a57e-f5a4dc5be744&TRXTYPE=S&AMT=100.00
*   Trying 209.15.13.134...
* connect to 209.15.13.134 port 443 failed: Connection refused
* Failed to connect to pilot-payflowpro.payapl.com port 443: Connection refused
* Closing connection 0