PHP中使用cURL实现Get和Post请求的方法


Posted in PHP onMarch 13, 2013

1.cURL介绍

cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。

2.基本结构

在学习更为复杂的功能之前,先来看一下在PHP中建立cURL请求的基本步骤:

(1)初始化

curl_init()

(2)设置变量

curl_setopt() 。最为重要,一切玄妙均在此。有一长串cURL参数可供设置,它们能指定URL请求的各个细节。要一次性全部看完并理解可能比较困难,所以今天我们只试一下那些更常用也更有用的选项。

(3)执行并获取结果

curl_exec()

(4)释放cURL句柄

curl_close()

3.cURL实现Get和Post

3.1 Get方式实现

//初始化

$ch = curl_init();


//设置选项,包括URL

curl_setopt($ch, CURLOPT_URL, "https://3water.com");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

//执行并获取HTML文档内容

$output = curl_exec($ch);

//释放curl句柄

curl_close($ch);

//打印获得的数据

print_r($output);

3.2 Post方式实现
$url = "http://localhost/web_services.php";

$post_data = array ("username" => "bob","key" => "12345");


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// post数据

curl_setopt($ch, CURLOPT_POST, 1);

// post的变量

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

$output = curl_exec($ch);

curl_close($ch);

//打印获得的数据

print_r($output);

以上方式获取到的数据是json格式的,使用json_decode函数解释成数组。

$output_array = json_decode($output,true);

如果使用json_decode($output)解析的话,将会得到object类型的数据。

PHP 相关文章推荐
用PHP生成html分页列表的代码
Mar 18 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
Jun 03 PHP
CI框架实现cookie登陆的方法详解
May 18 PHP
php获得文件夹下所有文件的递归算法的简单实例
Nov 01 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
Mar 31 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
PHP实现的操作数组类库定义与用法示例
May 24 PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 13 PHP
如何通过PHP实现Des加密算法代码实例
May 09 PHP
PHP生成随机密码4种方法及性能对比
Dec 11 PHP
php文本转图片自动换行的方法
Mar 13 #PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 #PHP
php 生成唯一id的几种解决方法
Mar 08 #PHP
PHP Directory 函数的详解
Mar 07 #PHP
PHP重定向的3种方式
Mar 07 #PHP
file_get_contents获取不到网页内容的解决方法
Mar 07 #PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
Mar 06 #PHP
You might like
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
jquery获得keycode的示例代码
2013/12/30 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
Python中enumerate()函数编写更Pythonic的循环
2018/03/06 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
Python学习小技巧总结
2018/06/10 Python
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
python实现五子棋小游戏
2020/03/25 Python
Python中的引用知识点总结
2019/05/20 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
css3的transition属性详解
2014/12/15 HTML / CSS
全球在线商店:BerryLook
2019/04/14 全球购物
留学经费担保书
2014/05/12 职场文书
先进个人材料怎么写
2014/12/30 职场文书
党纪处分决定书
2015/06/24 职场文书
学校教师培训工作总结
2015/10/14 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
详解Python生成器和基于生成器的协程
2021/06/03 Python