PHP使用Goutte不校验SSL证书 错误提示:SSL peer certificate or SSH remote key was not OK

发布于:2021-11-04 16:10:40

在使用PHPGoutte模块进行网络爬虫时,有时会遇到莫名奇妙的错误信息:

 SSL peer certificate or SSH remote key was not OK

此时,原因为:对方站点的SSL证书无法正确验证。

在查了一些网站后,知道可以对phpcurl请求添加两个配置项。

可是。。。。。

对于使用Goutte来说,网络请求也不过是:

$client = new Client();
$client->request('GET', $url);

此时完全不知道去哪改。。。。

1.方法

这里我们选择更改Goutte模块的源码

找到以下文件

/vendor/symfony/http-client/CurlHttpClient.php

在该文件下,包含了我们使用的request()函数

在该函数下,我们可以添加如下两行修改curl的配置:

位置无所谓,只要在该函数下就行,我添加在大概310行处。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

然后就,大功告成!有问题可以在下面评论。


阅读 674+

一片空白

父爱如山,不善表达。回想十多年前,总记得父亲有个宽厚的肩膀,小小的自己跨坐在上面,越过人山人海去看更广阔的天空,那个时候期望自己有一双翅膀,能够像鸟儿一样飞得高,看得远。虽然父亲有时会和自己开玩笑,但在做错事的时候会受到严厉的训斥。父亲有双粗糙的大手掌。