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网站备份程序代码分享
Jun 10 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
php登陆页的密码处理方式分享
Oct 14 PHP
php备份数据库类分享
Apr 14 PHP
php实现向javascript传递数组的方法
Jul 27 PHP
Zend Framework分页类用法详解
Mar 22 PHP
php读取和保存base64编码的图片内容
Apr 22 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
Mar 15 PHP
PHP判断是否是json字符串
Apr 01 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
Codeigniter校验ip地址的方法
2015/03/21 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
php创建无限级树型菜单
2015/11/05 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
Smarty保留变量用法分析
2016/05/23 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
jQuery 常见学习网站与参考书
2009/11/09 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
jquery中的常见问题及快速解决方法小结
2016/06/14 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
Python 元类实例解析
2018/04/04 Python
python url 参数修改方法
2018/12/26 Python
Python提取频域特征知识点浅析
2019/03/04 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
让IE支持HTML5的方法
2012/12/11 HTML / CSS
精选干货:Java精选笔试题附答案
2014/01/18 面试题
应届毕业生的自我鉴定
2013/11/13 职场文书
大家检讨书5000字
2014/02/03 职场文书
潘婷洗发水广告词
2014/03/14 职场文书
2014年五四青年节活动策划书
2014/04/22 职场文书
日语系毕业求职信
2014/07/27 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL