分析
在使用file_get_contents的时候,有时候获取受信任的https的内容是正常的,但是遇到一些不受信任的https连接,就会报错,主要原因还是不受信任的https大部分是自制证书或者已过期等等,检测证书的时候没通过。
既然知道了原因,那不让他验证ssl不就可以了。
处理
1 | string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] ) |
上述是file_get_contents() 函数的文档,第三参数可以设置一些头信息等,就如同使用curl一样,我们在头部添加一下信息就可以不验证ssl了
1 | "ssl"=>array( |
完整使用用例如下:
1 | <?php |
扩展
官方实例中有如下用法:
1 | <?php |
也就是说 其实我们可以在第三个参数中这是header、cookie、params等信息,这样就可以跟curl一样模拟post和get请求了。用例就不详述了,各位猿们自行探索吧。