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,ajax实现分页
Mar 27 PHP
php include,include_once,require,require_once
Sep 05 PHP
php模块memcache和memcached区别分析
Jun 14 PHP
基于curl数据采集之正则处理函数get_matches的使用
Apr 28 PHP
关于PHP的curl开启问题探讨
Apr 08 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
php实现批量修改文件名称的方法
Jul 23 PHP
php利用imagemagick实现复古老照片效果实例
Feb 16 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
php实现的三个常用加密解密功能函数示例
Nov 06 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 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 登录完成后如何跳转上一访问页面
2014/01/14 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
2017/08/14 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
vue中的mvvm模式讲解
2019/01/31 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
2016/06/18 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
PacSun官网:加州生活方式服装、鞋子和配饰
2018/03/10 全球购物
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
大专应届生个人的自我评价
2013/11/21 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
协议书范文
2015/01/27 职场文书
员工年度工作总结2015
2015/05/18 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
Redis IP地址的绑定的实现
2021/05/08 Redis