php - valido - Cómo ignorar errores de certificado SSL no válidos en Guzzle 5
guzzle insecure ssl (3)
Esto debería ser una cosa fácil de hacer. Puedo encontrar muchas referencias sobre cómo hacerlo en Guzzle 3, pero no funcionan en Guzzle 5.
Lo que estoy haciendo hasta ahora
$this->client = new GuzzleClient([''defaults'' => [
''verify'' => ''false''
]]);
Cuando envío una solicitud, obtengo este error:
RequestException in RequestException.php line 51:
SSL CA bundle not found: false
No puedo encontrar ninguna referencia útil a este error en google. Si pudiera acceder a las opciones de curl, podría intentar algo así como la solución sugerida aquí (que es para Guzzle 3, de ahí que no funcione): http://inchoo.net/dev-talk/symfony2-guzzle-ssl-self-signed-certificate/ , cuya sección relevante es:
$req->getCurlOptions()->set(CURLOPT_SSL_VERIFYHOST, false);
$req->getCurlOptions()->set(CURLOPT_SSL_VERIFYPEER, false);
Deberías usar
$this->client = new GuzzleClient([''defaults'' => [
''verify'' => false
]]);
es decir, un booleano falso, no la cadena ''falso''
La documentación está aquí: http://guzzle.readthedocs.org/en/latest/clients.html#verify
La versión real es la correcta :
$this->client = new GuzzleClient([''verify'' => false ]);
En 2018, esto no funciona:
$this->client = new GuzzleClient([''defaults'' => [
''verify'' => false
]]);
Prueba con la versión actualizada que funciona:
$this->client = new GuzzleClient([''base_uri'' => ''https://api.example.com/'', ''verify'' => false ]);
o una versión más simple:
$this->client = new GuzzleClient([''verify'' => false ]);
Probado con la versión 6.2-dev.