2015-01-21 128 views
24

這應該是一件容易的事情。我可以找到大量的怎麼做,在狂飲3引用的,但他們不狂飲工作5如何忽略Guzzle 5中的無效SSL證書錯誤

什麼我到目前爲止做:

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

當我發送一個請求,雖然我得到這個錯誤:

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

我找不到任何有用的參考這個錯誤在谷歌。如果我能得到進入捲曲選項,然後我可以嘗試像解決這裏建議(這是狂飲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

好吧,顯然我只是在閱讀文檔不好。最終發現:http://docs.guzzlephp.org/en/latest/faq.html?highlight=ssl#how-can-i-add-custom-curl-options – Gnuffo1 2015-01-21 11:48:57

回答

45

您應該使用

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

即布爾假的,不是字符串 '假'

的文檔是在這裏: http://guzzle.readthedocs.org/en/latest/clients.html#verify

+8

'''defaults'''實際上是不是Guzzle 5客戶端配置的一部分。您應該使用: $ this-> client = new GuzzleClient([ 'verify'=> false ]); – tixastronauta 2016-01-12 18:05:29

+2

文檔頁面稍微更改爲:http://guzzle.readthedocs.io/en/latest/request-options.html#verify – bootoffav 2016-05-25 08:44:35

15

嘗試使用更新版本的作品:

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

或者更簡單的版本:

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

測試與版本6.2-dev的。

+0

這是完美的!謝謝。 – simaremare 2017-09-11 14:03:41