摘要:函數代碼支持,煙火里的塵埃請求地址參數數據如果服務器返回則返回,不然則返回初始化設置傳輸選項方式獲取采集結果關閉鏈接解析判斷還是驗證解析
概念描述
應用場景</>復制代碼
CURL是一個非常強大的開源庫,支持很多協議,包括HTTP、FTP、TELNET等,可以使用cURL實現Get和Post請求的方法。
函數代碼</>復制代碼
在開發中服務端調用API 時,經常用到向第三方API發起GET 或 POST 請求,然后得到返回結果,有可能是 json 或者 xml ,甚至 我們需要配置一些HTTP 協議 頭信息一起發起請求。這時候就需要用到 cURL 。 比如、天氣預報借口、微信接口、支付接口等。
</>復制代碼
/**
* [cUrl cURL(支持HTTP/HTTPS,GET/POST)]
* @author qiuguanyou
* @copyright 煙火里的塵埃
* @version V1.0
* @date 2017-04-12
* @param [string] $url [請求地址]
* @param [Array] $header [HTTP Request headers array("Content-Type"=>"application/x-www-form-urlencoded")]
* @param [Array] $data [參數數據 array("name"=>"value")]
* @return [type] [如果服務器返回xml則返回xml,不然則返回json]
*/
public static function cUrl($url,$header=null, $data = null){
//初始化curl
$curl = curl_init();
//設置cURL傳輸選項
if(is_array($header)){
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){//post方式
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
//獲取采集結果
$output = curl_exec($curl);
//關閉cURL鏈接
curl_close($curl);
//解析json
$json=json_decode($output,true);
//判斷json還是xml
if ($json) {
return $json;
}else{
#驗證xml
libxml_disable_entity_loader(true);
#解析xml
$xml = simplexml_load_string($output, "SimpleXMLElement", LIBXML_NOCDATA);
return $xml;
}
}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/21786.html
摘要:給大家分享一些博主自己寫的函數臨近下班了,大約還有分鐘左右,手頭沒事,給大家分享幾個函數。 給大家分享一些博主自己寫的PHP函數 臨近下班了,大約還有20分鐘左右,手頭沒事,給大家分享幾個函數。超級好用喲! 截取字符串函數 /** * @param string $begin 開始字符串 * @param string $end 結束字符串 * @param st...
摘要:給大家分享一些博主自己寫的函數臨近下班了,大約還有分鐘左右,手頭沒事,給大家分享幾個函數。 給大家分享一些博主自己寫的PHP函數 臨近下班了,大約還有20分鐘左右,手頭沒事,給大家分享幾個函數。超級好用喲! 截取字符串函數 /** * @param string $begin 開始字符串 * @param string $end 結束字符串 * @param st...
摘要:給大家分享一些博主自己寫的函數臨近下班了,大約還有分鐘左右,手頭沒事,給大家分享幾個函數。 給大家分享一些博主自己寫的PHP函數 臨近下班了,大約還有20分鐘左右,手頭沒事,給大家分享幾個函數。超級好用喲! 截取字符串函數 /** * @param string $begin 開始字符串 * @param string $end 結束字符串 * @param st...
閱讀 1341·2021-09-04 16:40
閱讀 3466·2021-07-28 00:13
閱讀 2890·2019-08-30 11:19
閱讀 2623·2019-08-29 12:29
閱讀 3178·2019-08-29 12:24
閱讀 1132·2019-08-26 13:28
閱讀 2406·2019-08-26 12:01
閱讀 3456·2019-08-26 11:35