PHP 抓取 HTTPS 网站内容
跟普通的HTTP协议不同,当使用PHP里的函数 file_get_contents() 来获取API里提供的数据时,会出现错误。
这是因为在PHP的配置文件里没有开启一个参数,在我本机上是 /apache/bin/php.ini 里的 ;extension=php_openssl.dll 这一项,需要将前面的分号去掉。你可以用下面的脚本来检查你的PHP环境的配置:
输出结果如下:
如果你用的是远程主机,无法修改配置的话,
另外一个经常用的PHP里抓取内容的函数是 curl ,它比 file_get_contents() 更强大,提供了很多的可选参数。对于访问 HTTPS 内容的问题,我们需要使用的 CURL 配置参数是:
从语义上即可理解,它是忽略/跳过了SSL安全验证。
下面是利用 Curl 封装的一个能访问HTTPS内容的函数: