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

首頁 > 編程 > PHP > 正文

php獲得網站訪問統計信息類Compete API用法實例

2020-03-22 19:25:45
字體:
來源:轉載
供稿:網友
本文實例講述了php獲得網站訪問統計信息類Compete API用法。分享給大家供大家參考。具體如下:這里使用php獲得網站訪問統計信息類Compete API,Compete是一個專門用來統計網站信息的網站// Check for dependenciesif (!function_exists('curl_init')) throw new Exception('Compete needs the CURL PHP extension.');if (!function_exists('json_decode')) throw new Exception('Compete needs the JSON PHP extension.'); * Base Compete exception html' target='_blank'>class.class CompeteException extends Exception {} * Represents Compete API. * @author Egor Gumenyuk (boo1ean0807 at gmail dot com) * @package Compete * @license Apache 2.0class Compete * Default usr agent. const USER_AGENT = 'Compete API wrapper for PHP'; * Base url for api calls. const API_BASE_URL = 'http://apps.compete.com/sites/:domain/trended/:metric/ apikey=:key'; * Masks for url params. private $_urlKeys = array(':domain', ':metric', ':key'); private $_apiKey; * For url cleaning. private $_toSearch = array('http://', 'www.'); private $_toReplace = array('', ''); * List of available metrics. private $_availableMetrics = array( // Description Auth type 'uv', // Unique Visitors Basic 'vis', // Visits Basic 'rank', // Rank Basic 'pv', // Page Views All-Access 'avgstay',// Average Stay All-Access 'vpp', // Visits/Person All-Access 'ppv', // Pages/Visit All-Access 'att', // Attention All-Access 'reachd', // Daily Reach All-Access 'attd', // Daily Attention All-Access 'gen', // Gender All-Access 'age', // Age All-Access 'inc', // Income All-Access * List of available methods for __call() implementation. private $_metrics = array( 'uniqueVisitors' = 'uv', 'visits' = 'vis', 'rank' = 'rank', 'pageViews' = 'pv', 'averageStay' = 'avgstay', 'visitsPerson' = 'vpp', 'pagesVisit' = 'ppv', 'attention' = 'att', 'dailyReach' = 'reachd', 'dailyAttention' = 'attd', 'gender' = 'gen', 'age' = 'age', 'income' = 'inc' * Create access to Compete API. * @param string $apiKey user's api key. public function __construct($apiKey) { $this- _apiKey = $apiKey; * Implement specific methods. public function __call($name, $args) { if (array_key_exists($name, $this- _metrics) && isset($args[0])) return $this- get($args[0], $this- _metrics[$name]); throw new CompeteException($name . ' method does not exist.'); * Get data from Compete. * @param string $site some domain. * @param string $metric metric to get. * @return stdClass Compete data. * @throws CompeteException public function get($site, $metric) { if (!in_array($metric, $this- _availableMetrics)) throw new CompeteException($metric . ' - wrong metric.'); $values = array( $this- _prepareUrl($site), $metric, $this- _apiKey // Prepare call url $url = str_replace($this- _urlKeys, $values, self::API_BASE_URL); // Retrieve data using HTTP GET method. $data = json_decode($this- _get($url)); // Because of unsuccessful responses contain "status_message". if (!isset($data- status_message)) return $data; throw new CompeteException('Status: ' . $data- status . '. ' .$data- status_message); * Cut unnecessary parts of url. * @param string $url some url. * @return string trimmed url. private function _prepareUrl($url) { return str_replace($this- _toSearch, $this- _toReplace, $url); * Execute http get method. * @param string $url request url. * @return string response. private function _get($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, self::USER_AGENT); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); return curl_exec($ch);}希望本文所述對大家的php程序設計有所幫助。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳山县| 红河县| 高青县| 常熟市| 富阳市| 信宜市| 鄂尔多斯市| 清远市| 宣武区| 丰县| 罗田县| 筠连县| 肇庆市| 武穴市| 上犹县| 荆门市| 潍坊市| 芜湖市| 西乌珠穆沁旗| 册亨县| 随州市| 内丘县| 凯里市| 门源| 贵定县| 盐山县| 鄯善县| 安顺市| 多伦县| 深圳市| 喀喇| 凤阳县| 汽车| 昌乐县| 荆州市| 资源县| 海城市| 潞西市| 新巴尔虎左旗| 遂昌县| 波密县|