抓取网页数据 php( 一下如何解决file_get_contents函数获取远程页面内容 )

优采云 发布时间: 2021-09-17 04:08

  抓取网页数据 php(

一下如何解决file_get_contents函数获取远程页面内容

)

  PHP解决方案文件\uGet\uContents无法获取HTTPS页面的内容

  日期:2016年9月1日

  使用file today_uuget_uu时,contents函数获取远程页面的内容时出现问题。它显示无法找到包装“HTTPS”。这里,请求的页面地址使用HTTPS协议。现在,让我们与您分享如何解决“获取”内容不支持HTTPS URL的问题

  有三种解决方案:

  首先:修改php.ini配置文件

  对于windows下的PHP,您只需要将extension=PHP放在PHP.ini中的openssl.dll前面;删除它并重新启动服务。(请注意,还必须启用allow_url_fopen)

  对于Linux下的PHP,必须安装OpenSSL模块。安装后,您可以访问它

  第二个:stream\uucontext\uuucreate方法

  以下代码允许您使用文件获取内容来获取HTTPS页面内容:

  

$url= 'https://example.com';

$arrContextOptions=array(

"ssl"=>array(

"verify_peer"=>false,

"verify_peer_name"=>false,

),

);

$response = file_get_contents($url, false, stream_context_create($arrContextOptions));

  第三:用curl函数uget_uuu内容替换文件

  具体实施代码如下:

  

function getSslPage($url) {

/* http://www.manongjc.com/article/1428.html */

$ch = curl_init();

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_REFERER, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$result = curl_exec($ch);

curl_close($ch);

return $result;

}

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线