/**
* @param $url
* @param $data
* @param string $method
* @param string $type
* @return bool|string
*/
function curlData($url,$data,$method = 'GET',$type='json')
{
//初始化
$ch = curl_init();
$headers = [
'form-data' => ['Content-Type: multipart/form-data'],
'json' => ['Content-Type: application/json'],
];
if($method == 'GET'){
if($data){
$querystring = http_build_query($data);
$url = $url.'?'.$querystring;
}
}
// 請求頭,可以傳數組
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers[$type]);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 執行后不直接打印出來
if($method == 'POST'){
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'POST'); // 請求方式
curl_setopt($ch, CURLOPT_POST, true); // post提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // post的變量
}
if($method == 'PUT'){
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
}
if($method == 'DELETE'){
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 不從證書中檢查SSL加密算法是否存在
$output = curl_exec($ch); //執行并獲取HTML文檔內容
curl_close($ch); //釋放curl句柄
return $output;
}