问题描述
我尝试“翻译”这个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'
}