【一】概论

日常开发里,cURL使用最多的协议就是HTTP协议的GET、POST请求,其他协议和请求方式用的较少。

【二】开启

开发前检验是否开启了cURL模块,开启方法为php.int中打开extension=php_curl.dll即可

开启后去页面查看是否包含enable开启

【三】使用步骤

(1)初始化cURL资源

$cn = curl_init();

(2)传入参数,设置请求的协议地址

//设置选项,包括URL
curl_setopt($cn,CURLOPT_URL,"localhost");

(3)参数设置是否返回请求结果

curl_setopt($cn, CURLOPT_RETURNTRANSFER, 1);

(4)设置发送数据(无发送数据可不设置)

curl_setopt($cn, CURLOPT_HEADER, 0);

(5)其他参数信息设置(按实际工作需求决定)

(6)执行或执行得到返回结果

//执行并获取HTML文档内容
$output = curl_exec($cn);

(7)释放cURL句柄,关闭cURL资源

//释放cURL句柄
curl_close($cn);
//打印获得的数据
print_r($output);

完整代码:

<?php
// phpinfo();
$cn = curl_init();
//设置选项,包括URL
curl_setopt($cn,CURLOPT_URL,"http://www.php.cn");
curl_setopt($cn, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cn, CURLOPT_HEADER, 0);
//执行并获取HTML文档内容
$output = curl_exec($cn);
//释放cURL句柄
curl_close($cn);
//打印获得的数据
print_r($output);
?>

注意:第二步到第五步可以合为一个步骤,统称为cURL参数设置。所有curl参数设置都是通过curl_setopt()完成

【详解】

(1)初始化cURL资源

在后面通过curl_setopt()向curl的操作资源变量压入数据

(2)参数设置请求的协议地址

curl_setopt(资源变量,参数选项,参数值);

CURLOPT_URL这个参数选项规定了请求的url地址

(3)参数设置是否返回请求结果

若要curl请求返回对应的结果,则需要设置一个参数。参数名为:CURLOPT_RETURNTRANSFER

若需要返回值,则设置为1。无需返回结果则设置为0即可

(4)设置发送的数据

若是get请求,则不需要设置发送的参数。

若为post请求,则需要设置发送的参数

CURLOPT_POST值设为1是使用POST方法,0为GET方法

(5)其他参数信息设置

若是https有时需要忽略安全证书

此外还可以设置超时时间

curl_setopt($cn,CURLOPT_TIMEOUT,10);

(独孤九剑)--cURL的更多相关文章

  1. 在PowerShell中使用curl(Invoke-WebRequest)

    前言 习惯了windows的界面模式就很难转去命令行,甚至以命令行发家的git也涌现出各种界面tool.然而命令行真的会比界面快的多,如果你是一个码农. situation:接到需求分析bug,需要访 ...

  2. php中实现的一个curl批处理的实例

    curl是利用URL语法在命令行方式下工作的开源文件传输工具 本文在php中实现了的一个curl批处理的实例. 代码如下: header("Content-Type:text/html;ch ...

  3. PHP curl 函数

    转载http://sunking.sinaapp.com/archives/111 最近使用curl的时候,发现了一个比较好用的函数,当然是初级者适用的一个函数,就是curl_getinfo(), 在 ...

  4. curl -w,–write-out参数详解

    顾名思义,write-out的作用就是输出点什么.curl的-w参数用于在一次完整且成功的操作后输出指定格式的内容到标准输出. 输出格式由普通字符串和任意数量的变量组成,输出变量需要按照%{varia ...

  5. CURL HELP

    CURL下载 在windows的系统环境变量中,将CURL的路径(curl.exe存放的路径)复制到"Path"变量的结尾 Usage: curl [options...] < ...

  6. curl的登录总结

    demo1 <?php $curl=curl_init('http://www.baidu.com'); curl_exec($curl); curl_close($curl); ?> c ...

  7. php curl获取的数据不直接输出

    curl获取页面内容,不直接输出到页面 必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true curl_setopt($ch, CURLOPT_RETURNTRANSFER ...

  8. PHP的CURL

    使用CURL完成一个请求: 初始化连接句柄 设置CURL选项 执行并获取结果 释放CURL连接句柄 发送GET请求 function doGetRequest($url,$data,$timeout ...

  9. PHP curl报错“Problem (2) in the Chunked-Encoded data”解决方案

    $s = curl_init(); curl_setopt($s, CURLOPT_POST, true); curl_setopt($s, CURLOPT_POSTFIELDS, $queryStr ...

随机推荐

  1. [Qt总结篇]终端远程升级client

    环境: QT4.8.5 for Windows(Qt Creator+MinGW) 一.写在前面: 1.深度:鉴于C/C++的功底还远远不足,个人主要精力还是学习C/C++,所以没打算继续深入研究Qt ...

  2. Unity3D &amp; C# 设计模式--23

     Unity3D & C#Design Patterns 23 design patterns. Creational Patterns 1. Abstract Factory抽象工厂 创 ...

  3. 李洪强iOS开发之动态获取UILabel的bounds

    李洪强iOS开发之动态获取UILabel的bounds 在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法. 1.获取宽度,获取字符串不折行单行显示时所需 ...

  4. 2016/1/25 多线程 作业 方法一 继承Thread 方法二 实现Runnable 多线程笔记

    /* * 1,尝试定义一个继承Thread类的类,并覆盖run()方法, * 在run()方法中每隔100毫秒打印一句话.*/ package Stream; //方法一 继承Thread 实现多线程 ...

  5. mysql —— 利用Navicat 导出和导入数据库

    Navicat for MySql 导出数据库方法: 打开Navicat for MySql,在要导出的数据库上面右击鼠标,点击“转储SQL 文件”→“数据和结构”. 找到合适的路径,点击“保存”. ...

  6. [odb-users] query results not being cached?

    Burton, Craig crburton at tnsi.comWed Jun 6 13:58:03 EDT 2012 Previous message: [odb-users] query re ...

  7. 不温不火WindowsPhone

    最近在考虑是否转其他平台,如iOS或者Android或者javascript等. 已经以Windows Phone 开发作为工作就一年了(也不算是真正的Windows Phone开发吧,仅仅是开发高德 ...

  8. 基于Flink的视频直播案例(上)

    目录 数据产生 Logstash部分 Kafka部分 Flink部分 配置/准备代码 视频核心指标监控 本案例参考自阿里云的视频直播解决方案之视频核心指标监控和视频直播解决方案之直播数字化运营. 基于 ...

  9. html表格合并单元格

    th标签 合并列 colspan="k" 合并行 rowspan="k"   例子<th colspan="2", rowspan=& ...

  10. E20170602-ts

    questionnaire  n. 调查问卷; 调查表;  アンケート不是英语 collection   n. 征收; 收集,采集; 收藏品; 募捐; association   n. 联想; 协会, ...