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 相关文章推荐
实用函数3
Nov 08 PHP
邮箱正则表达式实现代码(针对php)
Jun 21 PHP
解析php中eclipse 用空格替换 tab键
Jun 24 PHP
PHP5中GD库生成图形验证码(有汉字)
Jul 28 PHP
解析数组非数字键名引号的必要性
Aug 09 PHP
PHP遍历文件夹与文件类及处理类用法实例
Sep 23 PHP
php校验表单检测字段是否为空的方法
Mar 20 PHP
全面解读PHP的人气开发框架Laravel
Oct 15 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
Jul 14 PHP
PHP使用curl制作简易百度搜索
Nov 03 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
May 12 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 15 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
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
UCenter 批量添加用户的php代码
2012/07/17 PHP
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
jQuery 处理表单元素的代码
2010/02/15 Javascript
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
jQuery中hasClass()方法用法实例
2015/01/06 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
Vue 组件参数校验与非props特性的方法
2019/02/12 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
Python从函数参数类型引出元组实例分析
2019/05/28 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
生态学毕业生自荐信
2013/10/27 职场文书
公司授权委托书范本
2014/04/03 职场文书
节约能源标语
2014/06/17 职场文书
兴趣班停课通知
2015/04/24 职场文书
小学语文国培研修日志
2015/11/13 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
nginx常用命令放入shell脚本详解
2021/03/31 Servers