错误提示是在程序抓取几百条之后出现的
这是打印的错误信息
求大神们指点一下啊
一、原因分析
web站点目前主要分为http和https两种协议,其中https类型的网站都是通过ssl协议+http协议的,是目前最安全的网站协议,访问此类网站的时候,会走ssl协议,验证访问者的证书,检测是否安全。
通过curl访问此类网站也是如此流程,但是curl中需要添加相应的参数,绕过ssl证书的验证,才可以正常访问,如出现此错误的一般原因是没有加此参数。
CURLOPT_SSL_VERIFYHOST的值
设为0表示不检查证书
设为1表示检查证书中是否有CN(common name)字段
设为2表示在1的基础上校验当前的域名是否与CN匹配。
二、解决方案
如果出现:
PHP Notice: curl_setopt():
CURLOPT_SSL_VERIFYHOST with value 1 is deprecated and will be removed as of libcurl 7.28.1. It is recommended to use value 2 instead in
一般原因是你设置了 curl_setopt ( $curl_handle, CURLOPT_SSL_VERIFYHOST, true );
改成curl_setopt ( $curl_handle, CURLOPT_SSL_VERIFYHOST, 2 );就行了。
扩展资料
PHP其他原因错误:
1、错误现象
在用curl进行模拟调用时,curl接收内容会出现"Empty reply from server" 和 "Recv failure: Connection was reset"的错误。
2、解决方案
经过对apache的error_log进行跟踪,出现错误"Connection reset by peer: core_output_filter: writing data to the network"
修改httpd.conf,在虚拟主机上添加如下内容:
EnableSendfile off
EnableMMAP off
修改后"Empty reply from server"错误消失。
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, false);追问
是http的 我加了那两个参数的
PHP
追答谢谢
本回答被提问者采纳