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

        $url = 'https://www.baidu.com/';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, );
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_TIMEOUT, );
$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 => ,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_SSL_VERIFYHOST => FALSE,
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_HTTPHEADER => $header,
CURLOPT_HEADER => FALSE,
CURLOPT_PORT =>
];
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); }

curl学习笔记(以php为例)的更多相关文章

  1. cURL 学习笔记与总结(2)网页爬虫、天气预报

    例1.一个简单的 curl 获取百度 html 的爬虫程序(crawler): spider.php <?php /* 获取百度html的简单网页爬虫 */ $curl = curl_init( ...

  2. 《MySQL必知必会》学习笔记——附录B 样例表

    附录B 样例表 本附录简要描述本书中所用的表及它们的用途. 编写SQL语句需要对基础数据库的设计有良好的理解.不知道什么信息存储在什么表中,表之间如何关联以及行内数据如何分解,是不可能编写出高效的SQ ...

  3. cURL 学习笔记与总结(5)用 cURL 访问 HTTPS 资源

    <?php $curlobj = curl_init(); // 初始化 curl_setopt($curlobj, CURLOPT_URL, "https://ajax.aspnet ...

  4. cURL 学习笔记与总结(4)使用 cURL 从 ftp 上下载文件与上传文件到 ftp

    下载: <?php $curlobj = curl_init(); curl_setopt($curlobj, CURLOPT_URL, "ftp://192.***.*.***/文件 ...

  5. cURL 学习笔记与总结(1)概念

    概念: cURL(Client URL Library Functions)is a command line tool for transfering data with URL syntax(使用 ...

  6. Java-马士兵设计模式学习笔记-工厂模式-单例及多例

    一.单例的作用是用于控制类的生成方式,而不让外部类任意new对象 1.Car.java import java.util.ArrayList; import java.util.List; publi ...

  7. 0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类

    static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静 ...

  8. Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml) -- 样例(6)

    managed-schema 样例: <?xml version="1.0" encoding="UTF-8" ?> <!-- License ...

  9. Java学习笔记之---单例模型

    Java学习笔记之---单例模型 单例模型分为:饿汉式,懒汉式 (一)要点 1.某个类只能有一个实例 2.必须自行创建实例 3.必须自行向整个系统提供这个实例 (二)实现 1.只提供私有的构造方法 2 ...

随机推荐

  1. js框架:jQuery

    · jQuery是一个轻量级的“写的少,做的多”的JavaScript函数库(jQuery版本2以上不支持IE6,7,8) · jQuery 的功能概括: 1.html 的元素选取 2.html的元素 ...

  2. 解决SublimeText 3无法安装Package Control的问题

    "GOOD 解决SublimeText 3无法安装Package Control的问题 2019年4月6日Sublime Text3更新至3.2.1(BUILD 3207)版本,Sublim ...

  3. C 语言实例 - 字符串复制

    C 语言实例 - 字符串复制 C 语言实例 C 语言实例 将一个变量的字符串复制到另外一个变量中. 实例 - 使用 strcpy() #include <stdio.h> #include ...

  4. 搭建Keepalived + Nginx + Tomcat的高可用负载均衡架构

    1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量 ...

  5. Qt 2D绘图之六:图形视图框架的事件处理与传播

    一.简介 图形视图框架中的事件都是首先由视图进行接收,然后传递给场景,再由场景传递给相应的图形项.而对于键盘事件,它会传递给获得焦点的图形项,可以使用QGraphicsScene类的setFocusI ...

  6. JQuery基础知识梳理篇

    这周没事,优化线上项目,因为前端都在赶项目,我又若菜.于是前端数据展示也要自己来.看javascript看到吐,决定梳理一下Jquery基础知识.敲黑板) 闲扯结束,进入正题. 选择器 介绍 jque ...

  7. Mass Change Queries Codeforces - 911G

    https://codeforces.com/contest/911/problem/G 没想到线段树合并还能这么搞.. 对每个权值建一个线段树(动态开点),如果权值为k的线段树上第i位为1,那么表示 ...

  8. python_21(Django中间件)

    第1章 中间件 1.1 介绍 1.2 种类 1.3 自定义中间件 1.4 process_request 1.4.1 注册中间件 1.5 process_response 1.6 process_vi ...

  9. h5画圆

    下面一段代码是,h5的画圆,半圆,四分之一圆等效果 <!DOCTYPE html> <html lang="en"> <head> <me ...

  10. C#入门笔记3 表达式及运算符

    C#表达式 表达式,把变量.字面值与运算符组合起来,就创建表达式,是计算的基本构件.字面值:是源代码中键入的数字.字符串,表示指定类型的值.常用有几种:整数.实数.字符.字符串. 整数字面量[也能使用 ...