一、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. 关于MySQL集群架构优劣势与适用场景的分析与思考

    http://blog.itpub.net/25723371/viewspace-1977389/

  2. 超简单 Promise封装小程序ajax 超好用 以及封装登录

    //网络类 //封装网络请求 const ajax = (ajaxData, method) => { wx.showLoading({ title: '加载中', mask: true }); ...

  3. JDBC | 查询表数据行数

      两种方法: 1. "select * from userinfo" 利用ResultSet的last和getRow方法来获得ResultSet的总行数,适用于在查询数据的同时统 ...

  4. 在centos7下搭建nginx环境,并配置负载均衡,最终能达到通过域名直接访问的目的

    1.关于nginx:个人理解的nginx它的主要用途就是负载均衡,当然可能还有其他一些功能可能我们不长用到,我们通过nginx可以干什么呢?为什么要引入它呢?原因是当有高并发访问服务器时,服务器可能会 ...

  5. java数据结构----带权图

    1.带权图:要引入带权图,首先要引入最小生成树,当所有的边拥有相同的权值时.问题变得简单了,算法可以选择任意一条边加入最小生成树.但是当边有不同的权值时,需要用一些算法决策来选择正确的边. 2.带权图 ...

  6. jq解析xml

    注意:url路径不能用相对路径,需要加入http协议

  7. Machine Learning Codeforces - 940F(带修莫队) && 洛谷P4074 [WC2013]糖果公园

    以下内容未验证,有错请指正... 设块大小为T,则块数为$\frac{n}{T}$ 将询问分为$(\frac{n}{T})^2$块(按照左端点所在块和右端点所在块分块),同块内按时间从小到大依次处理 ...

  8. flask 学习app代码备份

    #!/usr/bin/python # -*- coding: UTF-8 -*- from flask import Flask, url_for from flask import request ...

  9. Java动态解析域名

    Java动态解析域名 Java提供InetAddress类,可以对域名-IP进行正向.逆向解析. InetAddress解析的时候一般是调用系统自带的DNS程序. linux 默认的DNS方式是读取/ ...

  10. Jquery多选框互相内容交换

    <head runat="server"> <title>无标题页</title> <script type="text/jav ...