70 lines
48 KiB
PHP
70 lines
48 KiB
PHP
|
|
<?php
|
|||
|
|
|
|||
|
|
set_time_limit(0);
|
|||
|
|
require_once($_SERVER['DOCUMENT_ROOT']."/engine/simple_html_dom.php");
|
|||
|
|
|
|||
|
|
class RucountryStats {
|
|||
|
|
|
|||
|
|
public static function parseStats($mdb)
|
|||
|
|
{
|
|||
|
|
ini_set('display_errors', 1);
|
|||
|
|
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE);
|
|||
|
|
|
|||
|
|
$start_time = microtime();
|
|||
|
|
// разделяем секунды и миллисекунды
|
|||
|
|
//(становятся значениями начальных ключей массива-списка)
|
|||
|
|
$start_array = explode(" ", $start_time);
|
|||
|
|
// это и есть стартовое время
|
|||
|
|
$start_time = $start_array[1] + $start_array[0];
|
|||
|
|
|
|||
|
|
$url = "http://rucountry.ru/home/xml/12549.xml?h=8c8701b34518011ecaf8df1c23c69222";
|
|||
|
|
|
|||
|
|
$ua = getMobileUserAgentRucountryStats();
|
|||
|
|
|
|||
|
|
$content = curl_request_rucountry($url, $ua);
|
|||
|
|
|
|||
|
|
$result = simplexml_load_string($content);
|
|||
|
|
|
|||
|
|
foreach ($result->offer as $offer) {
|
|||
|
|
echo $offer->name;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$end_time = microtime();
|
|||
|
|
$end_array = explode(" ", $end_time);
|
|||
|
|
$end_time = $end_array[1] + $end_array[0];
|
|||
|
|
// вычитаем из конечного времени начальное
|
|||
|
|
$time = $end_time - $start_time;
|
|||
|
|
|
|||
|
|
if(isset($_GET['dev'])) {
|
|||
|
|
echo "the end. time: $time sec";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function curl_request_rucountry($url, $user_agent)
|
|||
|
|
{
|
|||
|
|
$ch = curl_init($url);
|
|||
|
|
curl_setopt($ch, CURLOPT_CERTINFO, 1);
|
|||
|
|
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie_rucountry_stat.txt');
|
|||
|
|
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie_rucountry_stat.txt'); //Имя файла, содержащего данные cookie
|
|||
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // запретить проверку сертификата удаленного сервера
|
|||
|
|
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); //"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"
|
|||
|
|
curl_setopt($ch, CURLOPT_REFERER, "http://rucountry.ru/home/xml/12549.xml?h=8c8701b34518011ecaf8df1c23c69222");
|
|||
|
|
curl_setopt($ch, CURLOPT_HEADER, 0); // При установке этого параметра в 1 результат будет включать полученные заголовки.
|
|||
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // При установке этого параметра в ненулевое значение CURL будет возвращать результат, а не выводить его.
|
|||
|
|
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //при получении HTTP заголовка "Location: " будет происходить перенаправление на указанный этим заголовком URL
|
|||
|
|
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
|
|||
|
|
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
|||
|
|
|
|||
|
|
$content = curl_exec($ch);
|
|||
|
|
curl_close($ch);
|
|||
|
|
return $content;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getMobileUserAgentRucountryStats()
|
|||
|
|
{
|
|||
|
|
$mua = array('Mozilla/5.0 (Danger hiptop 3.4; U; AvantGo 3.2)', 'Mozilla/3.0 (compatible; AvantGo 3.2)', 'Mozilla/5.0 (compatible; AvantGo 3.2; ProxiNet; Danger hiptop 1.0)', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; BOLT/2.800) AppleWebKit/534.6 (KHTML, like Gecko) Version/5.0 Safari/534.6.3', 'DoCoMo/1.0/P502i/c10 (Google CHTML Proxy/1.0)', 'DoCoMo/2.0 SH901iC(c100;TB;W24H12)', 'DoCoMo/1.0/N503is/c10', 'KDDI-KC31 UP.Browser/6.2.0.5 (GUI) MMP/2.0', 'UP.Browser/3.04-TS14 UP.Link/3.4.4', 'Vodafone/1.0/V802SE/SEJ001 Browser/SEMC-Browser/4.1', 'J-PHONE/5.0/V801SA/SN123456789012345 SA/0001JP Profile/MIDP-1.0', 'Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0', 'PDXGW/1.0 (TX=8;TY=6;GX=96;GY=64;C=G2;G=B2;GI=0)', 'ASTEL/1.0/J-0511.00/c10/smel', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16', 'Mozilla/5.0 (Linux; U; Android 2.3.5; en-gb; HTC Desire HD A9191 Build/GRJ90) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1', 'Mozilla/1.22 (compatible; MSIE 5.01; PalmOS 3.0) EudoraWeb 2.1', 'Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)', 'Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; PPC; 240x320)', 'Mozilla/5.0 (X11; U; Linux armv6l; rv 1.8.1.5pre) Gecko/20070619 Minimo/0.020', 'Mozilla/5.0 (Windows; U; Windows CE 5.1; rv:1.8.1a3) Gecko/20060610 Minimo/0.016', 'OPWV-SDK UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO', 'UP.Browser/6.1.0.1.140 (Google CHTML Proxy/1.0)', 'Mozilla/4.0 (compatible; MSIE 5.0; PalmOS) PLink 2.56b', 'Mozilla/5.0 (PDA; NF35WMPRO/1.0; like Gecko) NetFront/3.5', 'Mozilla/4.08 (Windows; Mobile Content Viewer/1.0) NetFront/3.2', 'Mozilla/4.0 (PS2; PlayStation BB Navigator 1.0) NetFront/3.0', 'Mozilla/4.0 (PDA; PalmOS/sony/model crdb/Revision:1.1.36(de)) NetFront/3.0', 'Mozilla/4.0 (PDA; PalmOS/sony/model prmr/Revision:1.1.54 (en)) NetFront/3.0', 'Mozilla/4.0 (PDA; Windows CE/0.9.3) NetFront/3.0', 'Mozilla/4.0 (PDA; Windows CE/1.0.1) NetFront/3.0', 'Mozilla/4.0 (PDA; SL-C750/1.0,Embedix/Qtopia/1.3.0) NetFront/3.0 Zaurus C750', 'WM5 PIE', 'Xiino/1.0.9E [en] (v. 4.1; 153x130; g4)', 'Mozilla/5.0 (Linux; U; Android 3.2.1; en-gb; A501 Build/HTK55D) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13', 'Opera/9.80 (Android 3.2.1; Linux; Opera Tablet/ADR-1205181138; U; en-GB) Presto/2.10.254 Version/12.00', 'Mozilla/5.0 (Android; Linux armv7l; rv:9.0) Gecko/20111216 Firefox/9.0 Fennec/9.0', 'Mozilla/5.0 (Android; Linux armv7l; rv:9.0) Gecko/20111216 Firefox/9.0 Fennec/9.0', 'Mozilla/5.0 (Linux; U; Android 3.0.1; en-us; A500 Build/HRI66) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; MAAR; .NET4.0C)', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19', 'Mozilla/5.0 (Linux; Android 4.1.1; Transformer Prime TF201 Build/JRO03C) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19', 'Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Transformer TF101 Build/IMM76I) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30', 'Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; VS840 4G Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1', 'Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; MB525 Build/3.4.2-107_JDN-9) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1', 'Mozilla/5.0 (Linux; U; Android 2.1-update1-1.0.19; en-us; NXM736 Build/ECLAIR) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17', 'Mozilla/5.0 (Linux; U; Android 2.2; de-de; U0101HA Build/FRF85B) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1', 'Mozilla/5.0 (Linux; U; Android 2.2.1; de-de; SP-60 Build/MASTER) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1', 'Mozilla/5.0 (Linux; U; Android 2.2; en-gb; ViewPad7 Build/FRF91) AppleWebKit/533
|
|||
|
|
Explanation: A Nokia X3. String from Ranbdr Ghale - thanks.', 'NokiaN-Gage/1.0 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7;en-us) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Safari/530.17', 'nook browser/1.0', 'Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; O2 Xda 2mini; PPC; 240x320)', 'HTC_Smart_F3188 Mozilla/5.0 (like Gecko) Obigo/Q7', 'Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M700; OpVer 19.123.1.615)', 'Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 240x320; SPV C600; OpVer 11.1.3.5)', 'Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M2000; OpVer 5.31.1.124)', 'Mozilla/5.0 (webOS/1.4.5; U; en-US) AppleWebKit/532.2 (KHTML, like Gecko) Version/1.0 Safari/532.2 Pre/1.0', 'PalmCentro/v0001 Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D061; Blazer/4.5) 16;320x320', 'Mozilla/4.76 [en] (PalmOS; U; WebPro/3.0; Palm-Arz1)', 'Mozilla/5.0 (webOS/1.3; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Desktop/1.0', 'Mozilla/5.0 (webOS/1.0; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) /Palm 500v/v0100 UP.Link/6.3.1.13.0', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D062; Blazer/4.5) 16;320x320', 'Palm680/RC1 Mozilla/4.0 (compatible; MSIE 6.0; Windows 98;', 'PalmSource/Palm-D053; Blazer/4.5) 16;320x320 UP.Link/6.3.1.17.06.3.1.17.0', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D053; Blazer/4.5) 16;320x320 UP.Link/6.3.1.17.0', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-TunX; Blazer/4.3) 16;320x448', 'Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/hspr-H102; Blazer/4.0) 16;320x320', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows 95; PalmSource; Blazer 3.0) 16;160x160', 'UPG1 UP/4.0 (compatible; Blazer 1.0)', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D050; Blazer/4.3) 16;320x320)', 'Mozilla/4.76 [en] (PalmOS; U; WebPro/3.0; Palm-Arz1)', 'Mozilla/4.76 (compatible; MSIE 6.0; U; Windows 95; PalmSource; PalmOS; WebPro; Tungsten Proxyless 1.1 320x320x16)', 'Mozilla/4.0 (compatible;MSIE 6.0;Windows95;PalmSource) Netfront/3.0;8;320x320', 'Mozilla/4.0 (compatible;MSIE 6.0;Windows95;PalmSource) Netfront/3.0', 'PantechP7040/JLUS04042011; Mozilla/5.0 (Profile/MIDP-2.0 Configuration/CLDC-1.1; Opera Mini/att/4.2.16479; U; en-US) Opera 9.50', 'MobileExplorer/3.00 (Mozilla/1.22; compatible; MMEF300; Amstrad; Gamma)', 'Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)', 'Mozilla/2.0 (compatible ; MSIE 3.02; Windows CE; PPC; 240x320)', 'Mozilla/4.0(compatible; MSIE 4.01; Windows CE; PPC; 240x320)', 'Mozilla/4.0(compatible; MSIE 4.01; Windows CE; PPC; 240x320)', 'Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; RegKing; 240x320)', 'SAGEM-myX5-2/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0', 'UP.Browser/6.2.2.6.d.3 (GUI) MMP/1.0', 'Mozilla/5.0 (Linux; Tizen 2.2; SAMSUNG SM-Z9005-ORANGE/Z9005XXEAML6) AppleWebKit/537.3 (KHTML, like Gecko) Version/2.2 Mobile Safari/537.3', 'Mozilla/5.0 (Linux; Android 4.3; SGH-T999L Build/JSS15J) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36', 'Mozilla/5.0 (Linux; Android 4.2.2; SGH-I547 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36', 'SCH-U350/1.0 NetFront/3.0.22.2.18 (GUI) MMP/2.0', 'Mozilla/5.0 (Linux; U; Android 2.2; en-gb; GT-I5500 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1', 'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SCH-I605 Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30', 'Mozilla/5.0 (Linux; U; Android 4.2.2; de-ch; GT-P5210 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30', 'Mozilla/5.0 (Linux; U; Android 2.
|
|||
|
|
$r = mt_rand(0,count($mua) - 1);
|
|||
|
|
return $mua[$r];
|
|||
|
|
}
|