溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

curl 函數(shù)總結(jié)

發(fā)布時間:2020-05-21 02:42:42 來源:網(wǎng)絡(luò) 閱讀:404 作者:追夢錄 欄目:web開發(fā)
參數(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;

}


向AI問一下細(xì)節(jié)

免責(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)容。

AI