这应该是一件容易的事情。我可以在Guzzle 3中找到很多关于如何操作的参考资料,但是他们不会在Guzzle 5中工作。
到目前为止我在做什么:
$this->client = new GuzzleClient(['defaults' => [
'verify' => 'false'
]]);
当我发送请求时,我收到此错误:
RequestException in RequestException.php line 51:
SSL CA bundle not found: false
我在google上找不到任何对此错误有用的引用。如果我可以访问curl选项,那么我可以尝试类似这里建议的解决方案(适用于Guzzle 3,因此它无法工作):http://inchoo.net/dev-talk/symfony2-guzzle-ssl-self-signed-certificate/,相关部分是:
$req->getCurlOptions()->set(CURLOPT_SSL_VERIFYHOST, false);
$req->getCurlOptions()->set(CURLOPT_SSL_VERIFYPEER, false);
答案 0 :(得分:58)
你应该使用
$this->client = new GuzzleClient(['defaults' => [
'verify' => false
]]);
即。布尔值false,而不是字符串'false'
文档在这里: http://guzzle.readthedocs.org/en/latest/clients.html#verify
答案 1 :(得分:31)
尝试使用的更新版本:
$this->client = new GuzzleClient(['base_uri' => 'https://api.example.com/', 'verify' => false ]);
或更简单的版本:
$this->client = new GuzzleClient(['verify' => false ]);
使用版本6.2-dev。
进行测试答案 2 :(得分:17)
实际版本是正确的:
$this->client = new GuzzleClient(['verify' => false ]);
2018年,这不起作用:
$this->client = new GuzzleClient(['defaults' => [
'verify' => false
]]);