国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP curl函數的使用示例 模擬curl請求

2024-09-04 11:49:15
字體:
來源:轉載
供稿:網友

PHP curl函數是可以模仿用戶進行訪問頁面了,下面來給各位介紹一下工作中常用的到的PHP curl函數示例.

PHP有著很好的curl機制,但是用起來總是不那么的令人滿意,因為它需要好幾步的操作和,好多難記的參數,這里我將php的curl封裝了一下,使它不那么的復雜,代碼如下:

  1. <?php 
  2. /** 
  3.  * php模擬curl請求 
  4.  * 
  5.  * @param string $url     請求的url 
  6.  * @param string $method  請求的方法, 默認POST 
  7.  * @param array  $data    請求傳遞的數據 
  8.  * @param array  $header  請求設置的頭信息 
  9.  * @param int    $head    是否打印頭信息 
  10.  * @param int    $body    是否打印body信息 
  11.  * @param int    $timeout 設置超時時間 
  12.  * 
  13.  * @return array 
  14.  */ 
  15. function curl($url,$method="POST",$data=array(),$header=array(),$head=0,$body=0,$timeout = 30) 
  16.     $ch = curl_init(); 
  17.     curl_setopt($ch, CURLOPT_URL, $url); 
  18.     if (strpos($url"https") !== false ) { 
  19.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
  20.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
  21.         if (isset($_SERVER['HTTP_USER_AGENT'])) { 
  22.             curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
  23.         } 
  24.     } 
  25.     if (!emptyempty($header)) { 
  26.         curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
  27.     } 
  28.     switch ($method) { 
  29.     case 'POST'
  30.         curl_setopt($ch, CURLOPT_POST, 1); 
  31.         curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
  32.         break;  //開源軟件:Vevb.com 
  33.     case 'GET'
  34.         break
  35.     case 'PUT'
  36.         curl_setopt($ch, CURLOPT_PUT, 1); 
  37.         curl_setopt($ch, CURLOPT_INFILE, ''); 
  38.         curl_setopt($ch, CURLOPT_INFILESIZE, 10); 
  39.         break
  40.     case 'DELETE'
  41.         curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); 
  42.         break
  43.     default
  44.         break
  45.     } 
  46.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  47.     curl_setopt($ch, CURLOPT_HEADER, $head); 
  48.     curl_setopt($ch, CURLOPT_NOBODY, $body); 
  49.     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
  50.     $rtn = curl_exec($ch); //獲得返回 
  51.     if (curl_errno($ch)) { 
  52.         echo 'Errno'.curl_error($ch);//捕抓異常 
  53.     } 
  54.     curl_close($ch); 
  55.     return $rtn
  56. ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 元朗区| 衡水市| 五台县| 金堂县| 九江市| 滦平县| 大埔县| 洪江市| 裕民县| 普宁市| 长阳| 九龙县| 卢龙县| 张掖市| 外汇| 武陟县| 新营市| 吉木乃县| 原平市| 新源县| 绿春县| 吉木萨尔县| 五原县| 庆阳市| 乐昌市| SHOW| 沂南县| 伊宁县| 库车县| 康平县| 广东省| 祁东县| 石渠县| 商水县| 泉州市| 无极县| 保靖县| 鄢陵县| 永丰县| 威信县| 湖南省|