首页 > 开发 > PHP > 正文

PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)

2024-05-04 23:39:05
字体:
来源:转载
供稿:网友

本文通过两种方法解决PHP中file_get_contents函数抓取https地址出错,需要的朋友可以参考下

方法一:

在php中,抓取https的网站,提示如下的错误内容:

Warning: file_get_contents() [function.file-get-contents]: failed to open stream: Invalid argument in I:Webmyphpa.php on line 16

打开php.ini文件找到 ;extension=php_openssl.dll ,去掉双引号”;” ,重启web服务器即可。

apache服务器的话,可以同时启用mod_ssl模块测试。

如果不方便修改服务器配置,可以参考使用如下的函数来解决:

代码示例:

 

 
  1. <?php 
  2. //file_get_contents抓取https地址内容 
  3. function getCurl($url){ 
  4. $ch = curl_init(); 
  5. curl_setopt($ch, CURLOPT_URL,$url); 
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
  7. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
  8. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
  9. $result = curl_exec($ch); 
  10. curl_close ($ch); 
  11. return $result; 

方法二:

在php中,利用file_get_contents函数抓取url是https开头的网站网页内容时,会出现类似下面的错误警告:

Warning: file_get_contents(https://127.0.0.1/index.php) [function.file-get-contents]: failed to open stream: Invalid argument in E:/website/blog/test.php on line 25

打开php.ini找到 ;extension=php_openssl.dll ,去掉双引号”;” ,重启web服务器即可。

apache的可以同时启用mod_ssl模块测试

以上内容给大家分享了两种方法解决PHP中file_get_contents函数抓取https地址出错,希望对大家有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表