婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP封裝請求類實例分析【基于Yii框架】

PHP封裝請求類實例分析【基于Yii框架】

熱門標(biāo)簽:太原極信防封電銷卡 電銷招聘機(jī)器人 天津營銷電話機(jī)器人加盟代理 熱線電話機(jī)器人 事業(yè)單位如何百度地圖標(biāo)注 福泉電話機(jī)器人 南寧crm外呼系統(tǒng)平臺 格陵蘭島地圖標(biāo)注 地圖標(biāo)注入哪個科目

本文實例講述了PHP封裝請求類。分享給大家供大家參考,具體如下:

1.源碼

?php
namespace app\common\components;
use Yii;
use app\common\services\BaseService;
class HttpClient extends BaseService{
  private static $headers = [];
  private static $cookie = null;
  public static function get($url, $param =[]) {
    return self::curl($url, $param,"get");
  }
  public static function post($url, $param,$extra = [] ) {
    return self::curl($url, $param,"post");
  }
  protected static function curl($url, $param, $method = 'post')
  {
    $calculate_time1 = microtime(true);
    // 初始華
    $curl = curl_init();
    // 設(shè)置url
    curl_setopt($curl, CURLOPT_URL, $url);
    // 設(shè)置為0表示不返回HTTP頭部信息
    curl_setopt($curl, CURLOPT_HEADER, 0);
    // 設(shè)置為1返回將curl_exec()獲取的信息以字符串返回,而不是直接輸出 設(shè)置為0返回true/false
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    // TRUE 將在安全傳輸時輸出 SSL 證書信息到 STDERR。
    curl_setopt($curl, CURLOPT_CERTINFO , true);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    // FALSE 禁止 cURL 驗證對等證書
    // 交換證書可以在 CURLOPT_CAINFO 選項中設(shè)置,CURLOPT_CAPATH中設(shè)置證書目錄。
      curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
      if( isset( Yii::$app->params['curl'] )  isset(Yii::$app->params['curl']['timeout']) ){
      curl_setopt($curl, CURLOPT_TIMEOUT, Yii::$app->params['curl']['timeout']);
    }else{
      curl_setopt($curl, CURLOPT_TIMEOUT, 5);
    }
    // array_key_exists — 檢查數(shù)組里是否有指定的鍵名或索引
      // CURLOPT_USERAGENT在HTTP請求中包含一個"User-Agent: "頭的字符串
    if(array_key_exists("HTTP_USER_AGENT",$_SERVER)){
      curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    }
    // CURLOPT_HTTPHEADER設(shè)置 HTTP 頭字段的數(shù)組。格式: array('Content-type: text/plain', 'Content-length: 100')
    if(!empty(self::$headers)){
      $headerArr = [];
      foreach( self::$headers as $n => $v ) {
        $headerArr[] = $n .': ' . $v;
      }
      curl_setopt ($curl, CURLOPT_HTTPHEADER , $headerArr ); //構(gòu)造IP
    }
    // CURLOPT_COOKIE設(shè)定 HTTP 請求中"Cookie: "部分的內(nèi)容。多個 cookie 用分號分隔,分號后帶一個空格(例如, "fruit=apple; colour=red")。
    if( self::$cookie ){
      curl_setopt($curl, CURLOPT_COOKIE, self::$cookie);
    }
    // post處理 :TRUE 時會發(fā)送 POST 請求,類型為:application/x-www-form-urlencoded,是 HTML 表單提交時最常見的一種。
    if ($method == 'post')
    {
      curl_setopt($curl, CURLOPT_POST, TRUE);
      // 如果為數(shù)組就變成字符串
      if(is_array($param)){
        $param = http_build_query($param);
      }
      // 全部數(shù)據(jù)使用HTTP協(xié)議中的 "POST" 操作來發(fā)送。 要發(fā)送文件,在文件名前面加上@前綴并使用完整路徑。
      curl_setopt($curl, CURLOPT_POSTFIELDS, $param);
    }else{
      //get請求
      curl_setopt($curl, CURLOPT_POST, FALSE);
    }
    // 執(zhí)行輸出
    $info = curl_exec($curl);
    //log:返回最后一次的錯誤代碼
    $_errno = curl_errno($curl);
    $_error = '';
    if($_errno)
    {
      // 返回當(dāng)前會話最后一次錯誤的字符串
      $_error = curl_error($curl);
    }
    curl_close($curl);
    // 花費的時間
    $calculate_time_span = microtime(true) - $calculate_time1;
    $log = \Yii::$app->getRuntimePath().DIRECTORY_SEPARATOR.'curl.log';
    // int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
    file_put_contents($log,date('Y-m-d H:i:s')." [ time:{$calculate_time_span} ] url: {$url} \nmethod: {$method} \ndata: ".json_encode($param)." \nresult: {$info} \nerrorno: {$_errno} error: {$_error} \n",FILE_APPEND);
    if( $_error ){
      return self::_err( $_error );
    }
    return $info;
  }
  public static function setHeader($header){
     self::$headers = $header;
  }
  public static function setCookie( $cookie ){
    self::$cookie = $cookie;
  }
}

2.分析

microtime()
函數(shù)返回當(dāng)前 Unix 時間戳的微秒數(shù)。
當(dāng)設(shè)置為 TRUE 時,規(guī)定函數(shù)應(yīng)該返回一個浮點數(shù),否則返回一個字符串。默認(rèn)為 FALSE。

詳細(xì)的各種分析寫在代碼里面了

3.總結(jié)

總結(jié)就是get與post差不多(初始化執(zhí)行關(guān)閉) 選項也差不多  就是在方式上面會有些差別!

更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家基于Yii框架的PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • PHP實現(xiàn)支持GET,POST,Multipart/form-data的HTTP請求類
  • php處理restful請求的路由類分享
  • 通過JS和PHP兩種方法判斷用戶請求時使用的瀏覽器類型
  • php自定義類fsocket模擬post或get請求的方法
  • 解讀PHP的Yii框架中請求與響應(yīng)的處理流程
  • YII2框架中使用yii.js實現(xiàn)的post請求
  • yii2 在控制器中驗證請求參數(shù)的使用方法
  • Yii框架通過請求組件處理get,post請求的方法分析
  • Yii 框架控制器創(chuàng)建使用及控制器響應(yīng)操作示例
  • Yii框架響應(yīng)組件用法實例分析
  • Yii2框架RESTful API 格式化響應(yīng),授權(quán)認(rèn)證和速率限制三部分詳解
  • YII Framework學(xué)習(xí)之request與response用法(基于CHttpRequest響應(yīng))

標(biāo)簽:金華 香港 郴州 佳木斯 阿克蘇 通化 自貢 寶雞

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP封裝請求類實例分析【基于Yii框架】》,本文關(guān)鍵詞  PHP,封裝,請求,類,實例分析,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP封裝請求類實例分析【基于Yii框架】》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP封裝請求類實例分析【基于Yii框架】的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品成人a区在线观看| 粉嫩aⅴ一区二区三区四区| 国产精品卡一卡二| 国产亚洲综合在线| 久久精品人人做人人爽97| 欧美电视剧在线观看完整版| 欧美一级二级在线观看| 91精品久久久久久久91蜜桃 | 自拍偷拍亚洲激情| 1024亚洲合集| 亚洲风情在线资源站| 欧美aⅴ一区二区三区视频| 男女性色大片免费观看一区二区| 日本网站在线观看一区二区三区 | 成人毛片在线观看| 99国产精品久| 91麻豆精品国产91久久久久久| 欧美一区二区三区日韩| www久久久久| 中文字幕制服丝袜成人av| 亚洲国产cao| 激情五月婷婷综合网| 91在线国内视频| 欧美一级欧美三级| ...中文天堂在线一区| 亚洲超碰97人人做人人爱| 精品一区二区在线视频| 99久久伊人精品| 91麻豆精品国产91久久久久久久久 | 337p亚洲精品色噜噜噜| 国产日韩影视精品| 亚洲综合一区二区| 国产成人aaa| 宅男噜噜噜66一区二区66| 日本一区二区三区四区在线视频| 一区二区高清在线| 国产精品一区二区x88av| 在线免费亚洲电影| 日本一区二区三区久久久久久久久不 | 亚洲影院久久精品| 国产在线精品一区二区夜色| 一本色道久久综合精品竹菊| 日韩欧美久久久| 亚洲大片一区二区三区| 岛国av在线一区| 精品欧美一区二区在线观看| 夜夜嗨av一区二区三区| 成人国产亚洲欧美成人综合网| 欧美日本韩国一区| 一区二区三区在线视频观看| 国产91精品露脸国语对白| 欧美一区三区四区| 亚洲va国产天堂va久久en| 99riav久久精品riav| 日本一区二区三区视频视频| 久久成人羞羞网站| 91精品蜜臀在线一区尤物| 一卡二卡欧美日韩| 91一区二区在线| 国产精品视频在线看| 国产美女视频91| 欧美一区二区福利在线| 亚洲高清中文字幕| 在线观看日韩一区| 亚洲五月六月丁香激情| 色天使久久综合网天天| 亚洲另类在线一区| 色呦呦日韩精品| 亚洲三级在线免费| 99re成人在线| 一级日本不卡的影视| 欧美亚洲动漫精品| 日本欧美肥老太交大片| 欧美一卡二卡在线| 国内精品不卡在线| 国产日韩欧美不卡| 成人aa视频在线观看| 亚洲欧美精品午睡沙发| 在线免费观看成人短视频| 亚洲二区在线视频| 欧美mv日韩mv国产网站app| 日本特黄久久久高潮| 精品国产免费一区二区三区四区 | 久久不见久久见中文字幕免费| 日韩午夜激情视频| 国产一区高清在线| 欧美激情资源网| 99re热视频这里只精品| 午夜激情综合网| 精品黑人一区二区三区久久| 高清久久久久久| 亚洲乱码日产精品bd| 欧美精品在线观看一区二区| 精品系列免费在线观看| 国产精品卡一卡二| 欧美亚洲一区二区在线| 加勒比av一区二区| 亚洲免费av网站| 日韩欧美你懂的| 99久久99久久精品免费看蜜桃| 亚洲精品va在线观看| 精品捆绑美女sm三区| 99国产精品99久久久久久| 日韩激情视频在线观看| 国产三级精品视频| 欧美喷潮久久久xxxxx| 国产精品一区二区不卡| 亚洲大片精品永久免费| 久久久99精品久久| 欧美日韩视频在线第一区| 国产成人精品aa毛片| 亚洲大型综合色站| 国产精品青草综合久久久久99| 欧美三级中文字幕| 不卡高清视频专区| 美国精品在线观看| 亚洲线精品一区二区三区八戒| 26uuu欧美| 欧美绝品在线观看成人午夜影视| 高清久久久久久| av一区二区久久| 久久电影网站中文字幕 | 精一区二区三区| 亚洲免费av高清| 国产欧美日韩不卡| 精品久久久久久久久久久久久久久| 欧亚洲嫩模精品一区三区| 久久er精品视频| 免费在线看成人av| 亚洲一卡二卡三卡四卡| 亚洲美女淫视频| 一区二区中文视频| 久久超碰97人人做人人爱| 一区二区在线观看视频| 国产精品美女久久久久久久网站| 精品国产乱码久久久久久闺蜜| 欧美日韩免费观看一区二区三区| 色综合久久中文综合久久97| 国产精品 日产精品 欧美精品| 久久精品72免费观看| 蜜桃视频一区二区三区在线观看| 亚洲大尺度视频在线观看| 一区二区在线观看视频| 亚洲图片一区二区| 亚洲国产日韩a在线播放性色| 亚洲综合一二三区| 三级欧美在线一区| 青青草伊人久久| 久久av资源站| 国产suv精品一区二区6| 成人黄色一级视频| 91亚洲精品久久久蜜桃| 日本丰满少妇一区二区三区| 一本一道久久a久久精品| 在线看不卡av| 5月丁香婷婷综合| 欧美tickle裸体挠脚心vk| 国产网站一区二区| 日韩伦理免费电影| 亚洲自拍另类综合| 日本强好片久久久久久aaa| 捆绑变态av一区二区三区| 国精产品一区一区三区mba视频| 国产福利精品一区| 日本高清成人免费播放| 欧美日韩三级一区| 久久亚洲综合色| 亚洲视频一二三区| 免费久久精品视频| 高清成人在线观看| 欧美亚洲愉拍一区二区| 日韩三级精品电影久久久| 国产亚洲欧美日韩俺去了| 成人欧美一区二区三区小说| 亚洲3atv精品一区二区三区| 韩国一区二区三区| 色一情一乱一乱一91av| 日韩免费性生活视频播放| 国产女主播一区| 午夜视频在线观看一区二区三区| 秋霞电影网一区二区| 99精品久久久久久| 欧美tickling网站挠脚心| 亚洲欧洲成人av每日更新| 日韩avvvv在线播放| 成人美女视频在线看| 欧美一区二区三区在线观看视频| 久久久亚洲高清| 亚洲国产成人av好男人在线观看| 高清视频一区二区| 欧美一三区三区四区免费在线看| 国产精品第五页| 欧美一区中文字幕| 午夜国产精品影院在线观看| 香蕉成人伊视频在线观看| 激情图片小说一区| 亚洲午夜视频在线| 欧美做爰猛烈大尺度电影无法无天| 一本色道久久综合亚洲aⅴ蜜桃 | 国产精品久久久久久户外露出|