我正在尝试使用 Meteor 调用一个 API。 API指南中给出的示例代码如下:
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(userName + password)));
我必须在 Meteor 中使用这段代码,但我还没有找到任何解决方案。我能够使用 GET
和 POST
方法调用没有 header 的 API。但是如何将上面的 header 传递给该 API 调用?
我正在使用 Meteor.http.post
进行 API 调用。我通过引用上面的代码使用以下代码:
return Meteor.http.post("url",
{ headers: {"Authorization": "Basic"+(new Buffer(username+password, "ascii")).toString("base64")},
params: { name: username} } );
但它不起作用。 我还有工作 PHP 代码示例来进行此 API 调用:
$process = curl_init($host);
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded', $additionalHeaders));
curl_setopt($process, CURLOPT_HEADER, 0);
curl_setopt($process, CURLOPT_USERPWD, $username . $password);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_POSTFIELDS, $payloadName);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process);
curl_close($process);
任何人都可以给我任何关于如何做的提示吗?提前谢谢你。
最佳答案
callApi: function () {
return Meteor.http.post("url",
{ headers: {"Authorization": "Basic"+(new Buffer(username+password, "ascii")).toString("base64")},
params: { name: username} } );
}
在服务器端代码中使用上述代码,我们可以将 header 传递给 API。
关于javascript - 如何使用 Meteor 进行 API 调用并将 header 传递给它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35240944/