博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
curl学习笔记(以php为例)
阅读量:5062 次
发布时间:2019-06-12

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

一、demo,抓取百度页码代码:

$url = 'https://www.baidu.com/';        $ch = curl_init($url);        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);        curl_setopt($ch, CURLOPT_HEADER, FALSE);        curl_setopt($ch, CURLOPT_TIMEOUT, 120);        $html = curl_exec($ch);        curl_close($ch);        var_dump($html);

二、curl函数介绍:

1、curl_init($url):初始化curl回话,返回资源类型

2、curl_setopt($ch, $option, $value):为curl设置相应的常量,$ch为curl_init()返回的资源句柄

3、curl_setopt_array($ch, $options):批量设置常量

4、curl_error($ch):返回当前会话最后一次错误的字符串

5、curl_exec($ch):执行curl会话

6、curl_getinfo($ch):获取一个curl连接资源句柄信息

7、curl_close:关闭curl会话

三、curl预定义常量

1、CURLOPT_HEADER:将头文件的信息作为数据流输出

 

 

四、案例:

方法:

public function curlTool($url, $params = [], $header = [], $method = 'GET')    {        $opts = [            CURLOPT_TIMEOUT => 30,            CURLOPT_RETURNTRANSFER => TRUE,            CURLOPT_SSL_VERIFYHOST => FALSE,            CURLOPT_SSL_VERIFYPEER => FALSE,            CURLOPT_HTTPHEADER => $header,            CURLOPT_HEADER => FALSE,            CURLOPT_PORT => 82        ];        switch (strtoupper($method)) {            case 'GET' :                $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);                $opts[CURLOPT_POST] = FALSE;                break;            case 'POST':                $opts[CURLOPT_URL] = $url;                $opts[CURLOPT_POST] = TRUE;                $opts[CURLOPT_POSTFIELDS] = $params;                break;        }        $ch = curl_init($url);        curl_setopt_array($ch, $opts);        $result = curl_exec($ch);        $error = curl_error($ch);        curl_close($ch);        if ($error) {            die('curl执行出错error:' . $error);        }        var_dump(json_decode($result));    }

调用:

public function test()    {        $url = 'url';        $header = [            'test:test'        ];        $params = [            'test' => test        ];        $this->curlTool($url, $params, $header);    }

 

转载于:https://www.cnblogs.com/zhengchuzhou/p/9945959.html

你可能感兴趣的文章
Linux FreeTDS的安装与配置
查看>>
使用postgre数据库实现树形结构表的子-父级迭代查询,通过级联菜单简单举例...
查看>>
1959: 图案打印
查看>>
React的组件化
查看>>
微信小程序开发(一)
查看>>
gitlab汉化
查看>>
【leetcode❤python】198. House Robber
查看>>
隐式类型转换
查看>>
最近任务 && react文章列表
查看>>
省市区联动JS脚本
查看>>
HTML块级元素和行内元素
查看>>
[Security_Android] exploit of Ad for android app代码分析
查看>>
Python学习-37.Python中的正则表达式
查看>>
洛谷 1485 火枪打怪
查看>>
Luogu4609 FJOI2016 建筑师 第一类斯特林数
查看>>
Docker从入门到安装MySQL
查看>>
ndk开发教程以及问题解决方案
查看>>
职业资格证书查询
查看>>
JMeter学习-005-JMeter 主要组件概要介绍及执行顺序(转载)
查看>>
墨菲定理实战
查看>>