1

我在我的 cmd 中有这个调用,它返回相应的响应:

curl https://my-hostname-path/v -u {api_key}

而不是{api_key}我发送与我的帐户链接的令牌,例如:value_of_my_api_key

现在我想通过使用curl_setopt命令在 php 中进行调用。我有这个代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://my-hostname-path/v");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "api_key:value_of_my_api_key");
$out = curl_exec($ch);

print "error: " . curl_error($ch) . "<br /><br />";
print "output: " . $out . "<br /><br />";

curl_close($ch);

并得到错误:

错误:SSL 证书问题:无法获取本地颁发者证书

那么curl_setopt替换的命令是什么-u以及如何在php代码中实现它?

4

1 回答 1

0

我没有看到 CURL 调用本身有任何问题。我敢打赌,您的服务器没有正确的 CA 证书来验证 SSL。您可以将 CA 存储在您的服务器上并使用该CURLOPT_CAINFO选项对其进行验证。

如果您不关心验证 SSL 证书,您可以随时添加

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
于 2015-11-11T17:18:29.367 回答