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 相关文章推荐
Dedecms常用函数解析
Feb 01 PHP
php比较多维数组中值的大小排序实现代码
Sep 08 PHP
php获取操作系统语言代码
Nov 04 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
Mar 19 PHP
php实现的任意进制互转类分享
Jul 07 PHP
php将服务端的文件读出来显示在web页面实例
Oct 31 PHP
PHP编程求最大公约数与最小公倍数的方法示例
May 29 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
Laravel程序架构设计思路之使用动作类
Jun 07 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
Oct 24 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
Jan 17 PHP
php引用和拷贝的区别知识点总结
Sep 23 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
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
Zend的AutoLoad机制介绍
2012/09/27 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
PHP中$GLOBALS与global的区别详解
2019/03/21 PHP
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
2017/04/05 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
vue实现数据控制视图的原理解析
2020/01/07 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
python版DDOS攻击脚本
2019/06/12 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
python 常见的反爬虫策略
2020/09/27 Python
详解使用scrapy进行模拟登陆三种方式
2021/02/21 Python
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
用canvas显示验证码的实现
2020/04/10 HTML / CSS
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
数据库设计的包括哪两种,请分别进行说明
2016/07/15 面试题
linux系统都有哪些运行级别
2016/03/26 面试题
咨询公司各岗位职责
2013/12/02 职场文书
食品流通安全承诺书
2014/05/22 职场文书
2014乡镇党政班子四风问题思想汇报
2014/09/14 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
2015年置业顾问工作总结
2015/04/07 职场文书