gpt4 book ai didi

php - 为什么 cUrl 无法通过 HTTPS 下载,除非 CURLOPT_SSL_VERIFYPEER 设置为 "false"?

转载 作者:行者123 更新时间:2023-12-04 18:18:50 25 4
gpt4 key购买 nike

在我的 PHP 代码中,我尝试从以 https://

开头的 URL 下载文件
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, $url);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curlHandle);
curl_close($curlHandle);

$response 恰好是 FALSE 除非我这样做:

curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, false);

curl_exec() 调用之前。

我下载的 URL 来自 Window Azure Blob Storage,并以 https://myaccount.blob.core.windows.net 开头,因此我认为服务器 SSL 证书应该没有问题.

造成这种行为的原因是什么?

最佳答案

发生这种情况是因为您没有使用被认为值得信赖的 CA 证书配置curl,因此它无法验证远程服务器证书上的签名(尽管签名很可能是有效的)。

要验证签名,您应该适当设置 CURLOPT_CAINFOCURLOPT_CAPATH

关于php - 为什么 cUrl 无法通过 HTTPS 下载,除非 CURLOPT_SSL_VERIFYPEER 设置为 "false"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11135952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com