<p>1.cURL介绍<br />
cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。<br />
2.基本结构<br />
在学习更为复杂的功能之前,先来看一下在PHP中建立cURL请求的基本步骤:<br />
(1)初始化</p>
<p>curl_init()<br />
(2)设置变量</p>
<p>curl_setopt() 。最为重要,一切玄妙均在此。有一长串cURL参数可供设置,它们能指定URL请求的各个细节。要一次性全部看完并理解可能比较困难,所以今天我们只试一下那些更常用也更有用的选项。<br />
(3)执行并获取结果</p>
<p>curl_exec()<br />
(4)释放cURL句柄</p>
<p>curl_close()<br />
3.cURL实现Get和Post<br />
3.1 Get方式实现<br />
复制代码 代码如下:</p>
<p>//初始化<br />
$ch = curl_init();<br />
//设置选项,包括URL<br />
curl_setopt($ch, CURLOPT_URL, "http://www.jb51.net");<br />
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br />
curl_setopt($ch, CURLOPT_HEADER, 0);<br />
//执行并获取HTML文档内容<br />
$output = curl_exec($ch);<br />
//释放curl句柄<br />
curl_close($ch);<br />
//打印获得的数据<br />
print_r($output);</p>
<p>3.2 Post方式实现<br />
复制代码 代码如下:</p>
<p>$url = "http://localhost/web_services.php";<br />
$post_data = array ("username" => "bob","key" => "12345");<br />
$ch = curl_init();<br />
curl_setopt($ch, CURLOPT_URL, $url);<br />
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br />
// post数据<br />
curl_setopt($ch, CURLOPT_POST, 1);<br />
// post的变量<br />
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);<br />
$output = curl_exec($ch);<br />
curl_close($ch);<br />
//打印获得的数据<br />
print_r($output);</p>
<p><br />
以上方式获取到的数据是json格式的,使用json_decode函数解释成数组。<br />
$output_array = json_decode($output,true);<br />
如果使用json_decode($output)解析的话,将会得到object类型的数据。</p>