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 ob_start()控制浏览器cache、生成html实现代码
Feb 16 PHP
php cache类代码(php数据缓存类)
Apr 15 PHP
下拉列表多级联动dropDownList示例代码
Jun 27 PHP
基于PHP创建Cookie数组的详解
Jul 03 PHP
Yii结合CKEditor实现图片上传功能
Jun 13 PHP
PHP中file_exists()判断中文文件名无效的解决方法
Nov 12 PHP
php计算年龄精准到年月日
Nov 17 PHP
简单解析PHP程序的运行流程
Jun 23 PHP
php使用正则表达式获取字符串中的URL
Dec 29 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
Sep 16 PHP
php的单例模式及应用场景详解
Feb 27 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 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
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
JS跨域总结
2012/08/30 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
详解JavaScript函数
2015/12/01 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
Python在线运行代码助手
2016/07/15 Python
关于Django外键赋值问题详解
2017/08/13 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
在python中做正态性检验示例
2019/12/09 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
给小学生的新年寄语
2014/04/04 职场文书
信用社竞聘演讲稿
2014/05/16 职场文书
小学清明节活动总结
2014/07/04 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
离婚协议书格式
2014/11/21 职场文书
2014年内部审计工作总结
2014/12/09 职场文书
python process模块的使用简介
2021/05/14 Python
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android