我正在使用 Goutte 使用 SSL 证书在 Web 服务器上获取页面。每当我尝试获取此页面时,都会引发以下异常:
Uncaught exception 'Guzzle\\Http\\Exception\\CurlException' with message
'[curl] 35: error:1407742E:SSL
routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
[url] https://somesite.com
我一直在网上寻找这种类型的错误。握手失败时似乎会发生此错误。服务器似乎支持 TLSv1,客户端使用 SSL23。
我不确定这个评估是否正确,也不知道如何纠正。
这是我目前正在使用的代码:
<?php
use Goutte\Client;
$client = new Client();
$guzzle = $client->getClient();
$guzzle->setConfig(
array(
'curl.CURLOPT_SSL_VERIFYHOST' => false,
'curl.CURLOPT_SSL_VERIFYPEER' => false,
)
);
$client->setClient($guzzle);
$crawler = $client->request('GET', 'https://somesite.com'); // IT FAILS HERE
更新:
注意:几周前我开始收到类似的错误,所以我想我会更新相关的问题和答案。
我遇到了类似的错误:
[curl] 35: Unknown SSL protocol error in connection to website.com:443