0
我想使用Guzzle从网页获取数据。我写了下面的代码:使用Guzzle获取远程数据
<?php
require_once 'vendor/autoload.php';
$client = new \GuzzleHttp\Client(['base_uri' => 'https://yandex.ru']);
$response = $client->request('GET');
$body = $response->getBody();
echo $body;
但我收到致命错误,当我在我的本地主机上运行此代码。
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:\Xampp\htdocs\Guzzle\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:187 Stack trace: #0 C:\Xampp\htdocs\Guzzle\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(150): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array) #1 C:\Xampp\htdocs\Guzzle\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(103): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory)) #2 C:\Xampp\htdocs\Guzzle\vendor\guzzlehttp\guzzle\src\Handler\CurlHandler.php(43): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory)) #3 C:\Xampp\htdocs\Guzzle\vendor\guzzlehttp\guzzle in C:\Xampp\htdocs\Guzzle\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 187
问题是,当我删除我的代码的最后三行时,它运作良好,所以问题与请求。任何人都可以提出解决方案
更改默认值验证为false,看看它是否工作。 **新的GuzzleClient(['defaults'=> [ 'verify'=> false ]]); ** – Dimi
我刚试过,但没有帮助 –
您是否尝试指定'verify'=> false选项在请求级别? http://docs.guzzlephp.org/en/latest/request-options.html#verify – Gabriel