php curl請(qǐng)求接口并獲取數(shù)據(jù)的示例代碼
當(dāng)我們?cè)谧鯬HP開發(fā)的時(shí)候,很多時(shí)候需要對(duì)接口進(jìn)行測(cè)試,或者更方便的調(diào)用一些已有模塊的接口,取到結(jié)果并進(jìn)行后續(xù)操作,我們可以通過curl進(jìn)行模擬提交post和get請(qǐng)求,來去實(shí)現(xiàn)這些功能。
下面是對(duì)curl的post和get的封裝
<?php /** * Created by PhpStorm. * User: thinkpad * Date: 2015/7/17 0017 * Time: 13:24 */ class Action { public static function curl_get($url){ $testurl = $url; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $testurl); //參數(shù)為1表示傳輸數(shù)據(jù),為0表示直接輸出顯示。 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //參數(shù)為0表示不帶頭文件,為1表示帶頭文件 curl_setopt($ch, CURLOPT_HEADER,0); $output = curl_exec($ch); curl_close($ch); return $output; } /* * url:訪問路徑 * array:要傳遞的數(shù)組 * */ public static function curl_post($url,$array){ $curl = curl_init(); //設(shè)置提交的url curl_setopt($curl, CURLOPT_URL, $url); //設(shè)置頭文件的信息作為數(shù)據(jù)流輸出 curl_setopt($curl, CURLOPT_HEADER, 0); //設(shè)置獲取的信息以文件流的形式返回,而不是直接輸出。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //設(shè)置post方式提交 curl_setopt($curl, CURLOPT_POST, 1); //設(shè)置post數(shù)據(jù) $post_data = $array; curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); //執(zhí)行命令 $data = curl_exec($curl); //關(guān)閉URL請(qǐng)求 curl_close($curl); //獲得數(shù)據(jù)并返回 return $data; } }
之后就可以通過CURL::curl_post($url,$array)或者CURL::curl_get($url);的方式調(diào)用接口并得到數(shù)據(jù)了。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
PHP+jQuery+Ajax實(shí)現(xiàn)用戶登錄與退出
本文使用Ajax無刷新登錄和退出,從而提升了用戶體驗(yàn)。 若用戶為登錄狀態(tài),則顯示用戶相關(guān)登錄信息,否則顯示登錄表單。2015-04-04Laravel6.2中用于用戶登錄的新密碼確認(rèn)流程詳解
這篇文章主要介紹了Laravel6.2中用于用戶登錄的新密碼確認(rèn)流程詳解,該功能使你可以要求已登錄的用戶重新輸入密碼,然后才能訪問路由2019-10-10ThinkPHP模板中判斷volist循環(huán)的最后一條記錄的驗(yàn)證方法
這篇文章主要介紹了ThinkPHP模板中判斷volist循環(huán)的最后一條記錄的驗(yàn)證方法,需要的朋友可以參考下2014-07-07用php+ajax新建流程(請(qǐng)假、進(jìn)貨、出貨等)
這篇文章主要介紹了用php+ajax新建流程(請(qǐng)假、進(jìn)貨、出貨等),需要的朋友可以參考下2017-06-06