博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP获取网页内容
阅读量:6293 次
发布时间:2019-06-22

本文共 2410 字,大约阅读时间需要 8 分钟。

1、file_get_contents

  

echo file_get_contents($url);

2、fopen

function fopen_get($url) {    $handle = fopen($url, "rb");     $contents = stream_get_contents($handle);     fclose($handle);     echo $contents; }

3、cURL模拟get请求

function curl_get($url){    $ch = curl_init();    curl_setopt($ch, CURLOPT_URL, $url);    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    $output = curl_exec($ch);    curl_close($ch);    return json_decode($output, true);}

4、cURL模拟post请求

function curl_post($url,$data){ // 模拟提交数据函数          $curl = curl_init(); // 启动一个CURL会话          curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址                      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查          curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在          curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器          curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转          curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer          curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求          curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包          curl_setopt($curl, CURLOPT_COOKIEFILE, $GLOBALS['cookie_file']); // 读取上面所储存的Cookie信息          curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环          curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容          curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回          $tmpInfo = curl_exec($curl); // 执行操作          if (curl_errno($curl)) {             echo 'Errno'.curl_error($curl);          }          curl_close($curl); // 关键CURL会话          return $tmpInfo; // 返回数据      }

 5、cURL调用第三方接口

function https_request($url,$type="get",$res="json",$data = ''){    //1.初始化curl    $curl = curl_init();    //2.设置curl的参数    curl_setopt($curl, CURLOPT_URL, $url);    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,2);    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);    if ($type == "post"){        curl_setopt($curl, CURLOPT_POST, 1);        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);    }                //3.采集    $output = curl_exec($curl);    //4.关闭    curl_close($curl);    if ($res == 'json') {        return json_decode($output,true);    }}

 

转载于:https://www.cnblogs.com/wwqphp/p/6538205.html

你可能感兴趣的文章
webpack是如何实现前端模块化的
查看>>
TCP的三次握手四次挥手
查看>>
关于redis的几件小事(六)redis的持久化
查看>>
webpack4+babel7+eslint+editorconfig+react-hot-loader 搭建react开发环境
查看>>
Maven 插件
查看>>
初探Angular6.x---进入用户编辑模块
查看>>
计算机基础知识复习
查看>>
【前端词典】实现 Canvas 下雪背景引发的性能思考
查看>>
大佬是怎么思考设计MySQL优化方案的?
查看>>
<三体> 给岁月以文明, 给时光以生命
查看>>
Android开发 - 掌握ConstraintLayout(九)分组(Group)
查看>>
springboot+logback日志异步数据库
查看>>
Typescript教程之函数
查看>>
Android 高效安全加载图片
查看>>
vue中数组变动不被监测问题
查看>>
3.31
查看>>
类对象定义 二
查看>>
收费视频网站Netflix:用户到底想要“点”什么?
查看>>
MacOS High Sierra 12 13系统转dmg格式
查看>>
关于再次查看已做的多选题状态逻辑问题
查看>>