博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于CURL的初步认识
阅读量:4656 次
发布时间:2019-06-09

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

前言:你知道?这个CURL可以做爬虫的工作但是仅限于小型的爬虫..............

(一) CURL的认识

  下面我觉得用图片来展示curl比较直观:

  

   所谓的curl就是客户端访问了服务器1,那么服务器1又模拟了服务客户端去访问了服务器2,然后拿到结果后一层层返回,并且curl以第三方的扩展库存在所以要用到必须要开启这个扩展.

(二)curl分类

  分为get访问和post访问

(三)curl模拟get请求

  

';//使用curl模拟get请求#1. 初始化curl连接$ch = curl_init();//请求的新的链接地址$url = 'http://969m2z.natappfree.cc/t2.php?name=小风风&age=18&height=1.9';#2. 设置curl选项// 设置请求URL地址curl_setopt($ch,CURLOPT_URL,$url);// 不获取header头信息curl_setopt($ch,CURLOPT_HEADER,0);// 结果不直接返回到终端curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);// 设置curl不进行证书的检测curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);// 超时时间 秒curl_setopt($ch,CURLOPT_TIMEOUT,10);// 设置请求的浏览器curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36');#3. 执行curl$data = curl_exec($ch);#4. 关闭curl连接curl_close($ch);var_dump($data);echo '

';echo '哈哈哈哈哈,看的到我么?';
';var_dump( $_GET );

 

(四)curl的post请求

//在实现get请求的基础上需要增加的设置项: // 发起POST请求curl_setopt($ch,CURLOPT_POST,1);// post发送的数据,注意http_build_query可以将$data数组数据格式化成http传输数据的格式curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data));

 

 

(五)用curl实现获取access_token(这个是调用公众号唯一的凭证有效期2小时)

time()){
//如果存储accesstoken的文件存在并且最后修改时间没有超过2个小时,说明accesstoken还在有效期内 return file_get_contents($filePath);//那么,直接从文件中读取出accesstoken } //能够执行到这里说明要么文件不存在,要么文件存在但是accesstoken过期了 //获取access_token的接口 $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s'; $url = sprintf($url, self::appID, self::appsecret); $json = curl($url); $data = json_decode($json);//因为得到的结果将会是一个json字符串,所以要将这个字符串转换成一个数组 //将accesstoken覆盖写入进文件 file_put_contents($filePath, $data->access_token); //调用curl函数请求接口api return $data->access_token; }}$obj = new NewWeixin;echo $obj->getACToken();

 

转载于:https://www.cnblogs.com/learningPHP-students2018/p/10181663.html

你可能感兴趣的文章
磁盘系统的管理
查看>>
C/S
查看>>
Http Get/Post请求的区别
查看>>
STM32一键下载电路设计原理
查看>>
C语言中函数返回字符串的四种方法
查看>>
10月区块链领域投融资事件盘点
查看>>
Mybatis缓存策略
查看>>
卷积的意义【转】
查看>>
android图形系统详解五:Android绘制模式
查看>>
[剑指offer] 23. 二叉搜索树的后序遍历序列
查看>>
canvas绘画交叉波浪
查看>>
Linux 内核分析
查看>>
试一下:XP ( SP2 ) 本身就支持查杀流氓软件!
查看>>
centos6(7) minimal 基本环境配置
查看>>
maven 构建可执行jar文件
查看>>
P2837晚餐队列安排
查看>>
DP专题
查看>>
UVa 1402 Runtime Error 伸展树
查看>>
笔记本安装SSD固态硬盘详细的优化设置
查看>>
批处理语法介绍
查看>>