PHP中使用cURL實(shí)現(xiàn)Get和Post請(qǐng)求的方法
1.cURL介紹
cURL 是一個(gè)利用URL語(yǔ)法規(guī)定來(lái)傳輸文件和數(shù)據(jù)的工具,支持很多協(xié)議,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 庫(kù)。本文將介紹 cURL 的一些高級(jí)特性,以及在PHP中如何運(yùn)用它。
2.基本結(jié)構(gòu)
在學(xué)習(xí)更為復(fù)雜的功能之前,先來(lái)看一下在PHP中建立cURL請(qǐng)求的基本步驟:
?。?)初始化
curl_init()
(2)設(shè)置變量
curl_setopt() 。最為重要,一切玄妙均在此。有一長(zhǎng)串cURL參數(shù)可供設(shè)置,它們能指定URL請(qǐng)求的各個(gè)細(xì)節(jié)。要一次性全部看完并理解可能比較困難,所以今天我們只試一下那些更常用也更有用的選項(xiàng)。
?。?)執(zhí)行并獲取結(jié)果
curl_exec()
?。?)釋放cURL句柄
curl_close()
3.cURL實(shí)現(xiàn)Get和Post
3.1 Get方式實(shí)現(xiàn)
//初始化
$ch = curl_init();
//設(shè)置選項(xiàng),包括URL
curl_setopt($ch, CURLOPT_URL, "http://www.dhdzp.com");
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ù)
print_r($output);
3.2 Post方式實(shí)現(xiàn)
$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數(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ù)
print_r($output);
以上方式獲取到的數(shù)據(jù)是json格式的,使用json_decode函數(shù)解釋成數(shù)組。
$output_array = json_decode($output,true);
如果使用json_decode($output)解析的話,將會(huì)得到object類(lèi)型的數(shù)據(jù)。
- php中使用Curl、socket、file_get_contents三種方法POST提交數(shù)據(jù)
- php的curl實(shí)現(xiàn)get和post的代碼
- PHP中的使用curl發(fā)送請(qǐng)求(GET請(qǐng)求和POST請(qǐng)求)
- PHP的curl實(shí)現(xiàn)get,post和cookie(實(shí)例介紹)
- 詳解php用curl調(diào)用接口方法,get和post兩種方式
- php使用CURL模擬GET與POST向微信接口提交及獲取數(shù)據(jù)的方法
- PHP CURL模擬GET及POST函數(shù)代碼
- PHP如何使用cURL實(shí)現(xiàn)Get和Post請(qǐng)求
- PHP中使用CURL發(fā)送get/post請(qǐng)求上傳圖片批處理功能
- php curl發(fā)起get與post網(wǎng)絡(luò)請(qǐng)求案例詳解
- PHP curl get post 請(qǐng)求的封裝函數(shù)示例【get、post、put、delete等請(qǐng)求類(lèi)型】
相關(guān)文章
php使用str_replace替換多維數(shù)組的實(shí)現(xiàn)方法分析
這篇文章主要介紹了php使用str_replace替換多維數(shù)組的實(shí)現(xiàn)方法,結(jié)合具體實(shí)例對(duì)比分析了php針對(duì)多維數(shù)組的遍歷與替換操作相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2017-06-06
php錯(cuò)誤提示failed to open stream: HTTP request failed!的完美解決方法
當(dāng)使用php5自帶的file_get_contents方法來(lái)獲取遠(yuǎn)程文件的時(shí)候,有時(shí)候會(huì)出現(xiàn)file_get_contents(): failed to open stream: HTTP request failed!這個(gè)警告信息。2011-06-06
PHP數(shù)組與對(duì)象之間使用遞歸實(shí)現(xiàn)轉(zhuǎn)換的方法
這篇文章主要介紹了PHP數(shù)組與對(duì)象之間使用遞歸實(shí)現(xiàn)轉(zhuǎn)換的方法,涉及php數(shù)組與對(duì)象的相關(guān)操作技巧,需要的朋友可以參考下2015-06-06
Laravel中使用FormRequest進(jìn)行表單驗(yàn)證方法及問(wèn)題匯總
Laravel 5.0 帶來(lái)了FormRequests, 這是一種特殊的類(lèi)型, 用于在提交表單時(shí)進(jìn)行數(shù)據(jù)的檢查和驗(yàn)證. 每個(gè)FormRequest類(lèi)至少包含一個(gè)rules()方法, 這個(gè)方法返回一組驗(yàn)證規(guī)則. 除此之外還必須包含一個(gè)authorize()方法, 該方法返回一個(gè)布爾值, 代表是否允許用戶(hù)執(zhí)行本次請(qǐng)求.2016-06-06
分析php://output和php://stdout的區(qū)別
本篇文章給大家詳細(xì)分析了php://output和php://stdout的用法區(qū)別以及實(shí)例代碼分享,有需要的朋友可以參考學(xué)習(xí)下。2018-05-05

