PHP使用Goutte不校验SSL证书
Posted 小陆斑比
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP使用Goutte不校验SSL证书相关的知识,希望对你有一定的参考价值。
0. 引言
? 在使用PHP的Goutte模块进行网络爬虫时,有时会遇到莫名奇妙的错误信息:
? SSL peer certificate or SSH remote key was not OK
? 此时,原因为:对方站点的SSL证书无法正确验证。
? 在查了一些网站后,知道可以对php
的curl
请求添加两个配置项。
? 可是。。。。。
? 对于使用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);
? 然后就,大功告成!有问题可以在下面评论。
以上是关于PHP使用Goutte不校验SSL证书的主要内容,如果未能解决你的问题,请参考以下文章