Frage Wie ignoriere ich ungültige SSL-Zertifikatfehler in Guzzle 5?


Dies sollte eine einfache Sache sein. Ich kann viele Hinweise darauf finden, wie man es in Guzzle 3 macht, aber sie funktionieren nicht in Guzzle 5.

Was ich bisher mache:

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

Wenn ich eine Anfrage sende, bekomme ich diesen Fehler:

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

Ich kann keinen nützlichen Verweis auf diesen Fehler bei Google finden. Wenn ich Zugang zu den Curl-Optionen bekommen könnte, könnte ich etwas wie die hier vorgeschlagene Lösung versuchen (was für Guzzle 3 ist, weshalb es nicht funktioniert): http://inchoo.net/dev-talk/symfony2-guzzle-ssl-self-signed-certificate/, dessen relevanter Abschnitt ist:

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

31
2018-01-21 11:43


Ursprung


Antworten:


Du solltest benutzen

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

ein Boolean false, nicht die Zeichenkette 'false'

Die Dokumentation ist hier: http://guzzle.readthedocs.org/en/latest/clients.html#verify


49
2018-02-21 19:22



Versuchen Sie es mit einer aktualisierten Version, die funktioniert:

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

oder eine einfachere Version:

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

Getestet mit Version 6.2-dev.


23
2017-07-15 20:33



Die aktuelle Version ist das Richtige:

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

Im Jahr 2018 funktioniert das nicht:

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

1
2018-06-15 06:42