/** * @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; }