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+jQuery实现自动补全功能源码
May 15 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
May 06 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
Jun 05 PHP
php格式化时间戳显示友好的时间实现思路及代码
Oct 23 PHP
PHP获得数组交集与差集的方法
Jun 10 PHP
PHP程序员的技术成长规划
Mar 25 PHP
php pdo oracle中文乱码的快速解决方法
May 16 PHP
PHP框架Laravel插件Pagination实现自定义分页
Apr 22 PHP
php如何修改SESSION的生存存储时间的实例代码
Jul 05 PHP
php无限级评论嵌套实现代码
Apr 18 PHP
laravel框架的安装与路由实例分析
Oct 11 PHP
PHP大文件及断点续传下载实现代码
Aug 18 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
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
php技术实现加载字体并保存成图片
2015/07/27 PHP
Linux平台php命令行程序处理管道数据的方法
2016/11/10 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
Js-$.extend扩展方法使方法参数更灵活
2013/01/15 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
element中table高度自适应的实现
2020/10/21 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
Keras Convolution1D与Convolution2D区别说明
2020/05/22 Python
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
物流专业大学生职业生涯规划书范文
2014/01/15 职场文书
业务部主管岗位职责
2014/01/29 职场文书
实习推荐信
2014/05/10 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
2015年招生工作总结
2015/05/04 职场文书