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 zlib扩展实现页面GZIP压缩输出
Jun 17 PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 PHP
浅析is_writable的php实现
Jun 18 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 PHP
php自定义函数截取汉字长度
May 15 PHP
php实现无限级分类
Dec 24 PHP
php中ob函数缓冲机制深入理解
Aug 03 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
php base64 编码与解码实例代码
Mar 21 PHP
PHP检查URL包含特定字符串实例方法
Feb 11 PHP
零基础php编程好学吗
Oct 11 PHP
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
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
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
理解PHP中的stdClass类
2014/04/18 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
不懂JavaScript应该怎样学
2008/04/16 Javascript
js获取某元素的class里面的css属性值代码
2014/01/16 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
2018/01/04 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
Python 字典一个键对应多个值的方法
2020/09/29 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
2021/01/24 Python
python os.listdir()乱码解决方案
2021/01/31 Python
css 元素选择器的简单实例
2016/05/23 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
德国网上花店:Valentins
2018/08/15 全球购物
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
法国在线药房:DoctiPharma
2020/10/21 全球购物
一套C++笔试题面试题
2012/06/06 面试题
护理助产毕业生的求职信
2014/03/02 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
爱我中华演讲稿
2014/05/20 职场文书
环保口号大全
2014/06/12 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
Python虚拟环境virtualenv是如何使用的
2021/06/20 Python