将 curl 命令转换为 Meteor 的 HTTP 调用
Translating curl command to Meteor's HTTP call
我尝试“翻译”这个 curl 命令
curl --request POST --header "Content-Type: application/json" --url http://some-url --user userName:apiKey --data '{ "some": "JSON data as string" }'
进入 Meteor 的 HTTP 调用。我试过这个:
const options = {
{ "some": "JSON data as object" },
headers: {
'Content-Type': 'application/json',
},
params: {
user: 'userName:apiKey',
},
// Or alternatively
//
// user: 'userName:apiKey',
};
HTTP.call('POST', 'http://some-url', options, (error, result) => {
if (error) {
reject(error);
} else {
resolve(result);
}
});
使用 curl 命令它工作正常,使用 HTTP.call 我得到一个 403,禁止访问。 userName:apiKey 的授权似乎失败了。如何在 HTTP.call 示例中指定 userName:apiKey?或者他们可能是另一个问题?
如果需要认证,需要添加auth
参数。 params
参数实际上会将所有包含的属性设置为 POST 请求正文的一部分。
const options = {
data: { "some": "JSON data as object" },
headers: {
'Content-Type': 'application/json',
},
auth: 'userName:apiKey'
}
我尝试“翻译”这个 curl 命令
curl --request POST --header "Content-Type: application/json" --url http://some-url --user userName:apiKey --data '{ "some": "JSON data as string" }'
进入 Meteor 的 HTTP 调用。我试过这个:
const options = {
{ "some": "JSON data as object" },
headers: {
'Content-Type': 'application/json',
},
params: {
user: 'userName:apiKey',
},
// Or alternatively
//
// user: 'userName:apiKey',
};
HTTP.call('POST', 'http://some-url', options, (error, result) => {
if (error) {
reject(error);
} else {
resolve(result);
}
});
使用 curl 命令它工作正常,使用 HTTP.call 我得到一个 403,禁止访问。 userName:apiKey 的授权似乎失败了。如何在 HTTP.call 示例中指定 userName:apiKey?或者他们可能是另一个问题?
如果需要认证,需要添加auth
参数。 params
参数实际上会将所有包含的属性设置为 POST 请求正文的一部分。
const options = {
data: { "some": "JSON data as object" },
headers: {
'Content-Type': 'application/json',
},
auth: 'userName:apiKey'
}