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读取javascript设置的cookies的代码
Apr 12 PHP
PHP写UltraEdit插件脚本实现方法
Dec 26 PHP
PHP无限分类(树形类)的深入分析
Jun 02 PHP
PHP常用函数和常见疑难问题解答
Mar 05 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
Mar 04 PHP
PHP使用pear自带的mail类库发邮件的方法
Jul 08 PHP
PHP文件缓存类实现代码
Oct 26 PHP
php实现scws中文分词搜索的方法
Dec 25 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
Mac下快速搭建PHP开发环境步骤详解
May 05 PHP
php提供实现反射的方法和实例代码
Sep 17 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 socket方式提交的post详解
2008/07/19 PHP
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
Python中使用语句导入模块或包的机制研究
2015/03/30 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
Python目录和文件处理总结详解
2019/09/02 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
利用python生成照片墙的示例代码
2020/04/09 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
详解css3 Transition属性(平滑过渡菜单栏案例)
2017/09/05 HTML / CSS
浅析HTML5中的 History 模式
2017/06/22 HTML / CSS
应届生服装设计自我评价
2013/09/20 职场文书
棉花姑娘教学反思
2014/02/15 职场文书
英文求职信写作小建议
2014/02/16 职场文书
乡镇信息公开实施方案
2014/03/23 职场文书
励志演讲稿范文
2014/04/29 职场文书
投标授权委托书范文
2014/08/02 职场文书
党员批评与自我批评材料
2014/10/14 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
家装电话营销开场白
2015/05/29 职场文书
公诉意见书范文
2015/06/05 职场文书
高中生物教学反思
2016/02/20 职场文书
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫
不想升级Win11?教你彻底锁定老版Windows系统的方法(附下载地址)
2022/09/23 数码科技