学习地址:https://yq.aliyun.com/articles/33262

curl的简单使用步骤

要使用cURL来发送url请求,具体步骤大体分为以下四步:

1.初始化
2.设置请求选项
3.执行一个cURL会话并且获取相关回复
4.释放cURL句柄,关闭一个cURL会话

输出this is a get url

cURL之所以强大,正是体现在第二个步骤中。你可以通过curl_setopt灵活地设置请求选项,这里面有很多的可选项

具体可以参考:http://cn2.php.net/manual/zh/function.curl-setopt.php

三、错误处理

在上述代码中,你也可以增加错误处理的代码:

$response = curl_exec($ch);

if ($response  === FALSE) {

echo "cURL 具体出错信息: " . curl_error($ch);

}

注意了,在做上述判断时务必要使用===,因为请求的回复可能是空字符串,curl在请求出错的情况下回返回FALSE值,所以我们必须使用===,而不是==。

四、获取curl请求的具体信息

在执行一个cURL请求后,你也可以使用curl_getinfo获取该请求的具体信息:

打印出来的数组:

五、使用curl发送post请求

我们在前面说过,在向某个url发送get请求的话,没有必要使用cURL来发送get请求,可以使用比较便捷的file_get_contents函数来完成请求。但是,一般地,我们在提交某个表单的时候,数据是通过post请求的内容区域来提交的,而不是通过url参数来传递的, 这种情况下,我们应该使用灵活的cURL来模拟发送post请求。

请求地址

http://www.chipshare.cn/wofans/index.php/Home/Test/post.html

示例代码如下:

正如我们看到的,cURL成功发送post请求到post.php,提交了一些数据,并且收到了相应的来自post.php的回复,最后输出回复。上例虽然简单,但是充分演示了cURL发送post请求的便捷及强大之处,你可以在curl_setopt上做文章。

因此我们可以封装出两个常规方法,get和post获取信息

CURL简单使用的更多相关文章

  1. php使用curl简单抓取远程url的方法

    这篇文章主要介绍了php使用curl简单抓取远程url的方法,涉及php操作curl的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php使用curl抓取远程url的方法.分 ...

  2. curl简单封装 get post

    Curl.php <?php /** * Class Curl curl简单封装 get post */ class Curl { /** * @brief get请求 * @param $ur ...

  3. php curl简单使用

    使用PHP的cURL库可以简单和有效地去抓网页,您只需要运行一个脚本,然后分析一下您所抓取的网页,然后就可以以程序的方式得到您想要的数据了.无论是您想从一个链接上取部分数据,或是取一个XML文件并把其 ...

  4. curl 简单使用

    cURL -- Command Line URL viewer -u username:password 以 Basic 方式发送用户名和密码 -d 以 POST 方式发送数据 -X 支持其它动词, ...

  5. 2019-09-16 curl简单操作

    1.get请求 (使用file_get_contents()函数也可以实现get请求) //http_build_query() 构造一个url字符串 function http_get($url) ...

  6. 开发当中curl简单使用

    curl是linux上可以发送http请求的命令.当然Postman是一个很好的接口调用管理工具,但在验证一个linux服务器调用另外一个linux服务器API是否可用的场景下,非curl命令莫属. ...

  7. curl 简单介绍

    1.初始化2.设置变量3.执行并获取结果4.释放cURL句柄// 1. 初始化$ch = curl_init();// 2. 设置选项,包括URLcurl_setopt($ch, CURLOPT_UR ...

  8. PHP语言开发微信公众平台(订阅号)之curl命令

    在开发过程中,经常会遇到要求用curl命令调用接口的情况 那么,什么是curl,简单来说curl是一个利用url语法规定来传输文件和哦数据的工具,支持很多协议,如 http.ftp.telent 等, ...

  9. 使用curl在命令行中下载文件

    http://m.blog.csdn.net/blog/mayadong7349/7019208 使用curl在命令行中下载文件 linux下curl简单应用详解 http://blog.sina.c ...

随机推荐

  1. docker 生成新的镜像

    下载了ubuntu的初始化镜像,但是没有网络安装包,安装了字后,如果生成新的镜像 sudo docker commit -m "add ifconfig/ping package" ...

  2. asp.net 存储过程 输出参数 取不到值

    这是MSDN上的明确解释:当您将 Command 对象用于存储过程时,可以将 Command 对象的 CommandType 属性设置为 StoredProcedure.当 CommandType 为 ...

  3. hdu 3354 Probability One

    Probability One Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  4. SSWR 跟 进一法除法

      1.对于浮点数SSWR float x = 3.456; //保留到小数点后两位 ) + 0.5) / 100.0; //output b = 3.46; 2.对于整数SSWR float x ; ...

  5. 再探 KMP 算法

    $\DeclareMathOperator{\fail}{fail}$ KMP 算法堪称经典中的经典,然而这么多年以来,我却未能完全理解这个算法.我对 KMP 算法掌握的程度,是知其原理,但写不出来. ...

  6. webpack watch模式产生*.hot-update.json文件

    webpack --watch会产生*.hot-update.json文件,解决方法如下: output: { path: path.join(root, "dist"), fil ...

  7. bzoj 2618 半平面交模板+学习笔记

    题目大意 给你n个凸多边形,求多边形的交的面积 分析 题意\(=\)给你一堆边,让你求半平面交的面积 做法 半平面交模板 1.定义半平面为向量的左侧 2.将所有向量的起点放到一个中心,以中心参照进行逆 ...

  8. POJ -1679(次小生成树)模板

    The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions:34617   Accepted: 12637 D ...

  9. tornado 坑集合

    1.没有自己的session管理 2.path入参要用括号圈起来,才能获取到 3.接收post参数 data = json.loads(self.request.body)ddd = data[&qu ...

  10. XmlSerializer使用

    XmlSerializer是对xml进行序列化操作的对象.写了一个Order的序列化方法供留念. 序列化针对有get,set的属性:属性必须是public方式:对象顺序和序列化的顺序一致. 对象定义 ...