您好,登錄后才能下訂單哦!
參數(shù):
$url 請求 URL string;
$body array ;
$header array;
function postCurl($url,$body,$header,$type="POST"){
//1.創(chuàng)建一個curl資源
$ch = curl_init();
//2.設(shè)置URL和相應(yīng)的選項
curl_setopt($ch,CURLOPT_URL,$url);//設(shè)置url
//1)設(shè)置請求頭
//array_push($header, 'Accept:application/json');
//array_push($header,'Content-Type:application/json');
//array_push($header, 'http:multipart/form-data');
//設(shè)置為false,只會獲得響應(yīng)的正文(true的話會連響應(yīng)頭一并獲取到)
curl_setopt($ch,CURLOPT_HEADER,0);
// 設(shè)置超時限制防止死循環(huán)
//curl_setopt ( $ch, CURLOPT_TIMEOUT,5);
//設(shè)置發(fā)起連接前的等待時間,如果設(shè)置為0,則無限等待。
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
//將curl_exec()獲取的信息以文件流的形式返回,而不是直接輸出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//2)設(shè)備請求體
if (count($body)>0) {
//$b=json_encode($body,true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);//全部數(shù)據(jù)使用HTTP協(xié)議中的"POST"操作來發(fā)送。
}
//設(shè)置請求頭
if(count($header)>0){
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
}
//上傳文件相關(guān)設(shè)置
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 3);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// 對認(rèn)證證書來源的檢查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);// 從證書中檢查SSL加密算
//3)設(shè)置提交方式
switch($type){
case "GET":
curl_setopt($ch,CURLOPT_HTTPGET,true);
break;
case "POST":
curl_setopt($ch,CURLOPT_POST,true);
break;
case "PUT"://使用一個自定義的請求信息來代替"GET"或"HEAD"作為HTTP請求。這對于執(zhí)行"DELETE" 或者其他更隱蔽的HTT
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,"PUT");
break;
case "DELETE":
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,"DELETE");
break;
}
//4)在HTTP請求中包含一個"User-Agent: "頭的字符串。-----必設(shè)
//curl_setopt($ch, CURLOPT_USERAGENT, 'SSTS Browser/1.0');
//curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
curl_setopt ( $ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)' ); // 模擬用戶使用的瀏覽器
//5)
//3.抓取URL并把它傳遞給瀏覽器
$res=curl_exec($ch);
$result=json_decode($res,true);
//4.關(guān)閉curl資源,并且釋放系統(tǒng)資源
curl_close($ch);
if(empty($result))
return $res;
else
return $result;
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。