如何在 PHP 代码的 cURL 调用中使用令牌 (-u) 进行身份验证?

How to authenticate with token (-u) in cURL call in PHP code?

我在我的 cmd 中有这个调用 returns 相应的响应:

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);

并得到错误:

error: SSL certificate problem: unable to get local issuer certificate

那么替换-ucurl_setopt命令是什么,如何在php代码中实现呢?

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

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

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);