Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

PHP Fatal error: Uncaught GuzzleHttp\Exception\RequestException:

Boa tarde, Não estou conseguindo executar o código está dando um erro, segue abaixo o código e o erro:

buscar-cursos.php

<?php

require 'vendor/autoload.php';

use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;

$client = new Client();
$resposta = $client->request('GET','https://www.alura.com.br/cursos-online-programacao/php');

$html = $resposta->getBody();

$crawler = new Crawler();
$crawler-> addHtmlContent($html);

$cursos = $crawler->filter('span.card-curso__nome');

foreach ($cursos as $curso) {
    echo $curso->textContent . PHP_EOL;
}

O erro. PHP Fatal error: Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://www.alura.com.br/cursos-online-programacao/php in C:\Users\felip\00-composer\buscador-cursos-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:211 Stack trace:

#0 C:\Users\felip\00-composer\buscador-cursos-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(158): GuzzleHttp\Handler\CurlFactory::createRejection()

#1 C:\Users\felip\00-composer\buscador-cursos-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(110): GuzzleHttp\Handler\CurlFactory::finishError()

#2 C:\Users\felip\00-composer\buscador-cursos-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlHandler.php(47): GuzzleHttp\Handler\CurlFactory::finish()

#3 C:\Users\felip\00-composer\buscador-cursos-alura\vendor\guzzlehttp\guzzle\src\Handler\Proxy.php(28): GuzzleHttp\Handler\CurlHandler->__invoke()

#4 C:\Users\felip\00-composer\buscador-curs in C:\Users\felip\00-composer\buscador-cursos-alura\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 211

4 respostas

Olá,

Essa mensagem de erro se aplica ao seu sistema operacional que envia a requisição cURL ao site https://www.alura.com.br/

Vamos fazer uma tentativa de solução :) Já que o emissor do certificado é a Cloudflare, Inc. instale o certificado https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/install-cloudflare-cert#windows

Abraço,

Olá, Olavo! No meu caso tive o mesmo erro, mesmo instalando este certificado, conforme usa resposta, continua o mesmo erro.

solução!

Oi Felippe, beleza?

Então, tente desabilitar essa verificação no seu Client, deixe o código da seguinte forma:

<?php

require 'vendor/autoload.php';

use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;

$client = new Client(['base_uri' => 'https://www.alura.com.br/', 'verify' => false]);
$resposta = $client->request('GET', '/cursos-online-programacao/php');


$html = $resposta->getBody();

$crawler = new Crawler();
$crawler-> addHtmlContent($html);

$cursos = $crawler->filter('span.card-curso__nome');

foreach ($cursos as $curso) {
    echo $curso->textContent . PHP_EOL;
}

Se funcionar direitinho não esqueça de marcar a solução, caso contrário você avisa para tentarmos outra coisa =D

Olá, obrigado deu certo sim!!