在PHP中使用CURL实现GET和POST请求的方法

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

 

1)、Get方式实现

 

//初始化

$ch = curl_init();

//设置选项,包括URL

curl_setopt($ch, curlOPT_URL, "http://www.eer3.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);

 

2)、Post方式实现

 

$url = "http://localhost/web_services.php";

$post_data = array ("username" => "uname","key" => "123456");

$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类型的数据。

posted @ 2016-06-15 11:41  lpfjsbk  阅读(308)  评论(0编辑  收藏  举报