gpt4 book ai didi

node.js - 如何使用node.js库表单数据创建https帖子?

转载 作者:太空宇宙 更新时间:2023-11-03 22:15:53 26 4
gpt4 key购买 nike

我们有一个客户端,其 API 需要通过 https 进行发布。我们有一个 node.js 应用程序,并且一直在使用 felixge 的 node-form-data 包 ( https://github.com/felixge/node-form-data ) 来进行提交。虽然这些调用针对客户端基于 http 的测试 api 工作得很好,但当我们尝试调用使用 https 的生产 api 时,api 会响应 400,客户端告诉我们这是由于通过 http 传入的调用所致。

关于如何在提交中指定 https 有什么想法吗?

我们的代码如下所示:

var FormData = require('form-data');
var couponForm = new FormData();
couponForm.append('data','{"coupon":{"code":"' + couponCode + '", "discount": "' + discountPercentage + '", "type": "percent", "product": "' + productId + '", "times": "1", "expires": "' + couponExpiresDt + '"}}');

couponForm.submit({hostname:config.client_api_host, path:'/api/coupon/add', auth:auth}, function(err, res) {
res.resume();

if (err) {
logger.log('error', 'Client API createDiscount post error:');
logger.log('error', {err: err});
callback(err);
} else if (res.statusCode != 200) {
logger.log('error', 'Client API createDiscount post response error:');
console.log('error', res);
logger.log('error', {statusCode: res.statusCode});
logger.log('error', {body: res.body});
callback(new Error('Client API createDiscount post response error:', res.statusCode));
} else {
logger.log('info', "Client coupon code " + couponCode + " has apparently been created");
callback(null, {coupon_code: couponCode, expires: couponExpiresDt});
}
});

最佳答案

根据this您需要在选项中传入 protocol: 'https:'

couponForm.submit({
hostname: config.client_api_host,
path: '/api/coupon/add',
auth: auth,
protocol: 'https:'
}, function(err, res) {
[...]
});

关于node.js - 如何使用node.js库表单数据创建https帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29100959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com