How to ignore invalid SSL certificate errors in Guzzle 5

PhpSslCurlGuzzle

Php Problem Overview


This should be an easy thing to do. I can find plenty of references to how to do it in Guzzle 3, but they don't work in Guzzle 5.

What I am doing so far:

$this->client = new GuzzleClient(['defaults' => [
    'verify' => 'false'
]]);

When I send a request though I get this error:

RequestException in RequestException.php line 51:
SSL CA bundle not found: false

I cannot find any useful reference to this error on google. If I could get access to the curl options then I could try something like the solution suggested here (which is for Guzzle 3, hence why it doesn't work): http://inchoo.net/dev-talk/symfony2-guzzle-ssl-self-signed-certificate/, the relevant section of which is:

$req->getCurlOptions()->set(CURLOPT_SSL_VERIFYHOST, false);
$req->getCurlOptions()->set(CURLOPT_SSL_VERIFYPEER, false);

Php Solutions


Solution 1 - Php

You should use

$this->client = new GuzzleClient(['defaults' => [
    'verify' => false
]]);

i.e. a Boolean false, not the string 'false'

The documentation is here: https://docs.guzzlephp.org/en/5.3/clients.html#verify

Note: a few people have given other answers that apply to Guzzle 6+. They're good answers if you are using those versions (but the original question was explicitly about Guzzle 5).

Solution 2 - Php

Try with updated version that works:

$this->client = new GuzzleClient(['base_uri' => 'https://api.example.com/', 'verify' => false ]);

or a more simple version:

    $this->client = new GuzzleClient(['verify' => false ]);

Tested with version 6.2-dev.

Solution 3 - Php

The actual version is the correct one:

$this->client = new GuzzleClient(['verify' => false ]);

At 2018, this does not work:

$this->client = new GuzzleClient(['defaults' => [
    'verify' => false
]]);

Solution 4 - Php

you can use in the new laravel client version with

$http = new Client(['verify' => false]);

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGnuffo1View Question on Stackoverflow
Solution 1 - PhppjcdawkinsView Answer on Stackoverflow
Solution 2 - PhpSNDView Answer on Stackoverflow
Solution 3 - PhpPriNceeView Answer on Stackoverflow
Solution 4 - PhpAlaa MoneamView Answer on Stackoverflow