php程序開發(fā)使用Curl來實現(xiàn)get或post請求
一、什么是Curl
Curl是一個利用url語法規(guī)定來傳輸文件和數(shù)據(jù)的工具,支持很多協(xié)議,如:HTTP、FTP、TELNET等。
幸運的是PHP也支持Curl庫。本文將介紹Curl的一些高級特性,以及在PHP中如何運用它。
二、Curl的基本方法
在我們使用Curl做復雜的項目之前,先來了解學習一下在PHP程序中如何建立Curl請求,以及使用的基本步驟。
1)Curl方法初始化函數(shù):curl_init();
2)設置curl變量函數(shù):curl_setopt();這個方法在php操作curl中最為重要的一個方法,一切post或get或其他功能都是通過該函數(shù)實現(xiàn)的。該函數(shù)有一串的參數(shù)可供您參考設置,它也能指定url請求中的每一個細節(jié),如果一次全部介紹完所有的參數(shù)是不太現(xiàn)實,我們這里介紹一些常用的參數(shù)給大家學習參考,剩下的很多參數(shù)大家可以自行查看php手冊進行學習。
3)執(zhí)行curl操作并獲取返回結果函數(shù):curl_exec();
4)釋放curl執(zhí)行句柄函數(shù):curl_close();
上面的四個函數(shù)及為php操作curl實現(xiàn)所有功能的基本函數(shù),需要大家牢牢記住。接下來我們就使用代碼的形式給大家講解curl是如何實現(xiàn)get和post請求的。
三、使用curl實現(xiàn)get和post請求
1)使用curl實現(xiàn)get請求
//初始化 $ch = curl_init(); //設置選項,包括URL curl_setopt($ch, curlOPT_URL, "http://jbbow.cn"); curl_setopt($ch, curlOPT_RETURNTRANSFER, 1); curl_setopt($ch, curlOPT_HEADER, 0); //執(zhí)行并獲取HTML文檔內(nèi)容 $output = curl_exec($ch); //釋放curl句柄 curl_close($ch); //打印獲得的數(shù)據(jù) var_dump($output);
大家可以復制一下本段代碼在您的本地執(zhí)行一下,看看輸出結果如何。
2)使用curl實現(xiàn)post請求
$url = "http://jbbow.cn"; $post_data = array ("username" => "uname","key" => "123456"); $ch = curl_init(); curl_setopt($ch, curlOPT_URL, $url); curl_setopt($ch, curlOPT_RETURNTRANSFER, 1); // post數(shù)據(jù) curl_setopt($ch, curlOPT_POST, 1); // post的變量 curl_setopt($ch, curlOPT_POSTFIELDS, $post_data); $output = curl_exec($ch); curl_close($ch); //打印獲得的數(shù)據(jù) var_dump($output);
以上是使用get和post方法獲得我們官網(wǎng)首頁的執(zhí)行程序,如果可以您也可以將curl_setopt()中使用更多的參數(shù)進行測試。