如何解决 youtube 数据 api V3 中的 curl 错误 60:ssl 证书问题?
how to solve curl error 60:ssl certificate problenm in youtube data api V3?
我正在学习使用 youtube 数据 api v3(使用 PHP)。所以我下载了示例 api 代码和一些我如何成功地在我的工作目录(版本 1.4.x)中下载和安装 composer 的方法。
在这个 运行 serach.php 脚本之后它显示以下错误
Fatal error: Uncaught exception 'GuzzleHttp\Exception\RequestException' with message 'cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)' in C:\wamp\www\youtube feeds\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 187
( ! ) GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in C:\wamp\www\youtube feeds\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 187 .
我在 php 5.5.12 和 apache 2.4.9 中使用 wamp。我还从托盘和 php.ini 文件中启用了 curl 扩展。
如果刚开始,不要试图跳入深渊。
从事物的 "restfull" api 方面开始。
举个例子,你可以这样做。
$url_link = 'https://www.googleapis.com/youtube/v3/videos?part=snippet&id=[VIDEO_ID]&key=[API_KEY]';
$video = file_get_contents($url_link);
$data= json_decode($video, true);
然后你可以在那个电话中随意获取所需的信息。像这样
$vid = $data['id'];
LIB 有助于简化大型程序和代码,但并非总是需要。
问题是由于缺少 "cacert.pem" 文件(或由运行 php 的主机操作系统提供)造成的。此文件验证证书颁发机构,以便 curl 可以安全地连接到 youtube(并且知道它是 youtube,而不是中间人攻击的受害者)。
您可以手动下载这些文件,并在您的 php ini 中指定它们,但更好的选择是使用 "certainty" php 包来管理这些文件。我建议使用 composer,它很容易上手。
我正在学习使用 youtube 数据 api v3(使用 PHP)。所以我下载了示例 api 代码和一些我如何成功地在我的工作目录(版本 1.4.x)中下载和安装 composer 的方法。
在这个 运行 serach.php 脚本之后它显示以下错误
Fatal error: Uncaught exception 'GuzzleHttp\Exception\RequestException' with message 'cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)' in C:\wamp\www\youtube feeds\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 187 ( ! ) GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in C:\wamp\www\youtube feeds\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 187 .
我在 php 5.5.12 和 apache 2.4.9 中使用 wamp。我还从托盘和 php.ini 文件中启用了 curl 扩展。
如果刚开始,不要试图跳入深渊。
从事物的 "restfull" api 方面开始。
举个例子,你可以这样做。
$url_link = 'https://www.googleapis.com/youtube/v3/videos?part=snippet&id=[VIDEO_ID]&key=[API_KEY]';
$video = file_get_contents($url_link);
$data= json_decode($video, true);
然后你可以在那个电话中随意获取所需的信息。像这样
$vid = $data['id'];
LIB 有助于简化大型程序和代码,但并非总是需要。
问题是由于缺少 "cacert.pem" 文件(或由运行 php 的主机操作系统提供)造成的。此文件验证证书颁发机构,以便 curl 可以安全地连接到 youtube(并且知道它是 youtube,而不是中间人攻击的受害者)。
您可以手动下载这些文件,并在您的 php ini 中指定它们,但更好的选择是使用 "certainty" php 包来管理这些文件。我建议使用 composer,它很容易上手。