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

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

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

熱門標(biāo)簽:太原極信防封電銷卡 電銷招聘機器人 天津營銷電話機器人加盟代理 熱線電話機器人 事業(yè)單位如何百度地圖標(biāo)注 福泉電話機器人 南寧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。

詳細的各種分析寫在代碼里面了

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
    国产精品久久久久久久岛一牛影视| 亚洲免费看黄网站| 欧美激情一区二区三区在线| 久热成人在线视频| 91精品久久久久久蜜臀| 亚洲成在线观看| 欧美日韩一区二区三区免费看| 亚洲五码中文字幕| 日韩天堂在线观看| 国产成人av电影在线观看| 国产精品久线观看视频| 色琪琪一区二区三区亚洲区| 亚洲国产精品嫩草影院| 欧美电影免费观看高清完整版| 国产91精品露脸国语对白| 亚洲桃色在线一区| 在线成人小视频| 国产成人精品网址| 亚洲激情在线激情| 欧美变态tickle挠乳网站| 99视频一区二区| 亚洲成人av电影在线| 亚洲精品一区二区三区蜜桃下载| 99久久免费精品| 视频在线观看91| 日本一区二区视频在线观看| 色哦色哦哦色天天综合| 麻豆91在线播放免费| 亚洲天堂成人在线观看| 久久综合久久综合久久| 91精彩视频在线| 国产在线看一区| 亚洲二区在线观看| 久久精品亚洲一区二区三区浴池 | 亚洲色图欧美偷拍| 欧美一区二区三区不卡| 97se亚洲国产综合自在线不卡 | 一本一道波多野结衣一区二区| 蜜臀av一区二区在线免费观看 | 懂色av一区二区三区免费看| 日韩专区一卡二卡| 亚洲精品欧美激情| 欧美本精品男人aⅴ天堂| 在线观看欧美日本| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产欧美一区二区三区在线看蜜臀 | 日韩高清国产一区在线| 日韩伦理av电影| 午夜精品国产更新| 国产精品久久久一本精品 | 东方aⅴ免费观看久久av| 欧美aaaaa成人免费观看视频| 亚洲日本va午夜在线影院| 国产日韩av一区| 久久久精品欧美丰满| 欧美草草影院在线视频| 日韩一级完整毛片| 在线电影国产精品| 欧美日韩亚洲综合一区二区三区| 色久优优欧美色久优优| 91亚洲资源网| 91在线小视频| 91理论电影在线观看| 91偷拍与自偷拍精品| 99精品国产热久久91蜜凸| gogogo免费视频观看亚洲一| gogogo免费视频观看亚洲一| 91香蕉视频黄| 欧美色图第一页| 538在线一区二区精品国产| 在线播放日韩导航| 欧美精品一区视频| 国产精品久久久久永久免费观看| 亚洲天堂免费看| 亚洲国产精品嫩草影院| 蜜臀av一级做a爰片久久| 激情综合网av| a4yy欧美一区二区三区| 欧美日韩亚洲综合一区二区三区| 日韩欧美在线一区二区三区| 精品对白一区国产伦| 国产日本欧美一区二区| 亚洲日本乱码在线观看| 天天影视涩香欲综合网| 免费观看日韩av| 粉嫩13p一区二区三区| 91久久国产最好的精华液| 日韩一区二区三免费高清| 久久久www免费人成精品| 亚洲欧洲在线观看av| 亚洲成人自拍网| 国内欧美视频一区二区| 成人动漫精品一区二区| 欧美综合亚洲图片综合区| 精品剧情在线观看| 亚洲激情自拍视频| 国内精品嫩模私拍在线| 在线观看亚洲精品| 2欧美一区二区三区在线观看视频| 亚洲蜜臀av乱码久久精品| 麻豆一区二区99久久久久| 91在线你懂得| 久久久久国产精品麻豆| 亚洲国产另类av| 成人黄色电影在线 | 欧美国产一区二区在线观看 | 久久99精品久久久久久| www.欧美亚洲| 一区二区日韩av| 国产成人免费视| 欧美一级免费观看| 亚洲一区在线观看视频| 成人污视频在线观看| 日韩精品最新网址| 亚洲午夜在线观看视频在线| 国产毛片一区二区| 日韩欧美一级二级| 视频一区中文字幕国产| 欧洲av一区二区嗯嗯嗯啊| 中文字幕成人网| 国产精品一区久久久久| 777久久久精品| 亚洲在线一区二区三区| 972aa.com艺术欧美| 国产色产综合色产在线视频| 精品一区精品二区高清| 欧美疯狂性受xxxxx喷水图片| 一区二区在线观看不卡| 91视频在线观看| 国产精品第一页第二页第三页| 国产一区欧美一区| 久久久一区二区三区| 九一九一国产精品| 日韩精品一区二区三区视频播放 | 亚洲va天堂va国产va久| 色综合中文字幕国产| 精品欧美一区二区三区精品久久 | 一区二区免费看| 91欧美一区二区| 亚洲欧洲精品一区二区精品久久久| 狠狠v欧美v日韩v亚洲ⅴ| 久久综合九色综合97婷婷女人| 狠狠色丁香婷综合久久| 精品国产免费久久| 国产一区二区精品在线观看| 精品精品国产高清一毛片一天堂| 久久国产麻豆精品| 2024国产精品视频| 国产成人精品免费看| 国产精品欧美精品| 色偷偷久久一区二区三区| 亚洲小说欧美激情另类| 欧美一区午夜视频在线观看| 奇米影视一区二区三区| 欧美不卡123| 丰满放荡岳乱妇91ww| 亚洲人123区| 337p亚洲精品色噜噜噜| 国产一区二区三区最好精华液 | 精品国产一区a| 成人小视频免费在线观看| 亚洲乱码中文字幕综合| 欧美二区在线观看| 国产xxx精品视频大全| 伊人婷婷欧美激情| 日韩欧美一级特黄在线播放| 成人97人人超碰人人99| 午夜欧美视频在线观看| 久久久久久97三级| 欧美性生活影院| 精油按摩中文字幕久久| 蜜臀精品久久久久久蜜臀| 国产校园另类小说区| 色激情天天射综合网| 激情文学综合网| 亚洲在线免费播放| 国产亚洲精品超碰| 欧美久久婷婷综合色| 国产福利精品导航| 日韩影院在线观看| 亚洲男同1069视频| 国产三级三级三级精品8ⅰ区| 欧美性大战久久| 成人手机电影网| 九九九精品视频| 日本不卡123| 亚洲一级不卡视频| 中文字幕欧美一| 久久视频一区二区| 91麻豆精品国产自产在线观看一区| 99久久精品免费看国产| 国产专区欧美精品| 蜜臂av日日欢夜夜爽一区| 亚洲一级二级三级| 亚洲欧洲性图库| 国产精品伦一区二区三级视频| 久久先锋影音av鲁色资源网| 欧美一区二区三区在线观看| 欧美吻胸吃奶大尺度电影| 色欧美乱欧美15图片|