PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ VK рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдореБрдЭреЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереА - рд╕рднреА рдкреНрд░рд╕рд┐рджреНрдз рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ vkontakte.ru рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдФрд░ рдЗрд╕реЗ рд╕рд╛рдЗрдЯ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдореБрдЦреНрдп рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐, рдореИрдВ IFRAME рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп VK рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рд╡реАрдбрд┐рдпреЛ рдореЗрд░реА рд╕рд╛рдЗрдЯ рдкрд░ рдРрд╕рд╛ рд▓рдЧреЗред рджрд░реНрдЬрдиреЛрдВ рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдЪрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЬрд┐рддрдирд╛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛, рдпреЗ рд╡реАрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рд╕рд╛рдЗрдЯреЗрдВ рд╣реИрдВ, рдЬреИрд╕реЗ VIDEOSAVER рдФрд░ рдЗрддрдиреЗ рдкрд░ред рдпрд╣ рд╕рдм рдлрд┐рдЯ рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдкрдиреЗ PHP рдЗрдВрдЬрди рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рдерд╛ред
рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд PHP рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдереЗ - рдЬрд┐рдирдХреА рд▓рд╛рдЧрдд 30 рд╕реЗ 500 рдХреНрдпреВ рддрдХ рдереА рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдЖрдзреЗ Zend рдПрдирдХреЛрдбрд░ рджреНрд╡рд╛рд░рд╛ рдПрдиреНрдХреЛрдб рдХрд┐рдП рдЧрдП рдереЗ рдпрд╛ рдмрд╕ рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореВрд▓реНрдп рдирд╣реАрдВ рдерд╛ред
рдЗрд╕рд▓рд┐рдП рдкреНрд░реЗрд░рдгрд╛ рд╢реБрд░реВ рд╣реБрдИред рдореИрдВрдиреЗ рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рд╡реАрд╕реА рд╕реЗ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдерд╛ред

рд╡реАрдХреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢
рдХреЛрдб рдХрд╛ рдкрд╣рд▓рд╛ рдЯреБрдХрдбрд╝рд╛ рдХреБрд▓рдкрддрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдерд╛ред рдореИрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдлрд╡рд╛рд╣ рдЙрдбрд╝рд╛рдИ рдФрд░ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдкрд╛рдпрд╛:
(рдХреЛрдб рдореЗрд░реЗ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП)
ini_set('error_reporting', E_ALL); ini_set ('display_errors', 1); $user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.2.13) ' . 'Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)'; $login = ''; $password = ''; function curl_gets_exec($ch, $redirects = 0, $curlopt_returntransfer = true, $curlopt_maxredirs = 10, $curlopt_header = false) { curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $data = curl_exec($ch); $header=substr($data,0,curl_getinfo($ch,CURLINFO_HEADER_SIZE)); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); $exceeded_max_redirects = $curlopt_maxredirs > $redirects; $exist_more_redirects = false; if ($http_code == 301 || $http_code == 302) { if ($exceeded_max_redirects) { list($header) = explode("\r\n\r\n", $data, 2); $matches = array(); preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches); $url = trim(array_pop($matches)); $url_parsed = parse_url($url); if (isset($url_parsed)) { curl_setopt($ch, CURLOPT_URL, $url); $redirects++; return curl_gets_exec($ch, $redirects, $curlopt_returntransfer, $curlopt_maxredirs, $curlopt_header); } } else { $exist_more_redirects = true; } } if ($data !== false) { if (!$curlopt_header) list(,$data) = explode("\r\n\r\n", $data, 2); if ($exist_more_redirects) return false; if ($curlopt_returntransfer) { return $data; } else { echo $data; if (curl_errno($ch) === 0) return true; else return false; } } else { return false; } } $ch = curl_init(); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch,CURLOPT_REFERER,'http://m.vk.com/login?fast=1&hash=&s=0&to='); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_COOKIEFILE,'cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt($ch, CURLOPT_POST, false); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_URL, 'https://login.vk.com/?act=login&from_host=m.vk.com&from_protocol=http&ip_h=&pda=1'); $answer = curl_gets_exec($ch); $post = array( 'email' => $login, 'pass' => $password ); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); $answer = curl_gets_exec($ch); </code> тАУ , , : <source lang="php"> curl_setopt($ch,CURLOPT_REFERER,'http://m.vk.com/login?fast=1&hash=&s=0&to=');
рдлрд╝рдВрдХреНрд╢рди curl_gets_exec CURL, рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИред
рдЕрдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ -
php.net/manual/ru/book.curl.phpрдкрд╛рд░рд╕реАрдЧ рд╡реАрдбрд┐рдпреЛ
рдЕрдм рдпрд╣ рд╡реАрдбрд┐рдпреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣ рдЧрдпрд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡реАрдХреЗ рд╡реАрдбрд┐рдпреЛ рдлрд╛рдЗрд▓реЗрдВ рдлреЙрд░реНрдо рдХреА рд╣реИрдВ -
vk.com/video2409212_161721801рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ "2409212" рдХреЗ 2 рдЯреБрдХрдбрд╝реЗ рдФрд░ "161721801" рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ 2 рд╡реИрд░рд┐рдПрдмрд▓ $ vid рдФрд░ $ oid рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ GET рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛
$vid=$_GET['vid']; $oid=$_GET['oid'];
рдФрд░ рдРрд╕реА рдХрдбрд╝реА рдмрдирд╛рдИ
$link="http://m.vk.com/video{$vid}_{$oid}";
рдлрд┐рд░ рд╣рдо рд╡реАрдХреЗ рдбреЗрдЯрд╛ рднреЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдкреЗрдЬ рд╕реЗ HTML рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рд╕рднреА HTML рд╡реИрд░рд┐рдПрдмрд▓ $ рдЬрд╡рд╛рдм рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ
curl_setopt($ch, CURLOPT_URL, $link); $answer = curl_gets_exec($ch);
рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЧрдбрд╝рдмрдбрд╝ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП simple_html_dom рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЖрдк рдЗрд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдореИрдВрдиреЗ рдЗрд╕реЗ рдпрд╣рд╛рдБ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ -
v.plirex.com/simplehtmldom.rarрдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╢реЗрд▓ рдмрдирд╛рдПрдБ
include "simplehtmldom/simple_html_dom.php"; $html = new simple_html_dom();
рд╣рдо рдЗрд╕рдореЗрдВ HTML рдЯреЗрдХреНрд╕реНрдЯ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ
$html->load($answer);
рд╣рдореЗрдВ DOM рд╕рд┐рд╕реНрдЯрдо "рд╡реАрдбрд┐рдпреЛ" рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡ рдорд┐рд▓рддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк HTML рдХреЛрдб рдореЗрдВ
vk.com/video2409212_161721801 рдкреГрд╖реНрда рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдВрдХ рдЗрд╕ рддрддреНрд╡ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ
$div_video=$html->find('video',0);
рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдореЗрдВ рдЬреЛ рд╡реАрдбрд┐рдпреЛ рдЪрд╛рд╣рд┐рдП рд╣реИ
if($div_video->outertext=="")die(тАЬVideo not foundтАЭ);
рдЗрд╕ HTML рдХреЛрдб рдХреА рддрд░рд╣ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ
<video preload="none" controls="controls" poster="http://cs527213.userapi.com/u11174769/video/l_18a03288.jpg"> <source src="http://cs527213.userapi.com/u11174769/videos/dc3277461b.720.mp4" type="video/mp4"></source> <source src="http://cs527213.userapi.com/u11174769/videos/dc3277461b.480.mp4" type="video/mp4"></source> <source src="http://cs527213.userapi.com/u11174769/videos/dc3277461b.360.mp4" type="video/mp4"></source> <source src="http://cs527213.userapi.com/u11174769/videos/dc3277461b.240.mp4" type="video/mp4"></source> <div class="img"><img src="http://cs527213.userapi.com/u11174769/video/l_18a03288.jpg" alt=""></div> <div class="no_pl"> </div> </video>
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ 'рд╕реНрд░реЛрдд' рдХреЗ рддрддреНрд╡ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдВрдХ рд╣реИрдВред
рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпреЗ рд▓рд┐рдВрдХ рдХреЗрд╡рд▓ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ рдореБрдЦреНрдп рд╡реАрдбрд┐рдпреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рд╡реЗ рд▓рд┐рдВрдХ
vk.com/video2409212_161721801 рд╣реИрдВ ред
рд╡реАрдбрд┐рдпреЛ рд▓рд┐рдВрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ -
cs527213.userapi.com/u11174769/videos/dc3277461b.240.mp4рдЬрд╣рд╛рдВ u11174769 рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдХреИрд╢ рд╣реИ рдЬреЛ рд╣рд░ рдмрд╛рд░ рдирдпрд╛ рд╣реЛрддрд╛ рд╣реИред
$sVideo=$div_video->find('source');
рдкрд░рд┐рд░рдХреНрд╖рдг
рд╣рдо рдкрд╣рд▓реЗ рдЙрдкрд▓рдмреНрдз рд▓рд┐рдВрдХ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ
$link= $aBuf[0]; header('Content-type: content=video/mp4'); header("Content-Disposition: attachment; filename=vPlirex.mpg"); header("Pragma: no-cache"); header("Expires: 0"); $tFile = fopen($link,'r'); while (!feof($tFile)) { echo( fgets($tFile)); } fclose($tFile);
рдирд┐рд╖реНрдХрд░реНрд╖
рдореИрдВрдиреЗ рд╡реАрдХреЗ рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЧрд╛рдЗрдб рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред рдпрд╣ рдХреЛрдб рд╕рд╣реА рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕реБрдзрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдПрдлрдЖрдИрдПрд▓ рдореЗрдВ рдХреБрдХреАрдЬрд╝ рдХреЗ рднрдВрдбрд╛рд░рдг рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рд╣реИ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЧреБрдгрд╡рддреНрддрд╛ рдЪреБрдирдирд╛ рд╕рдВрднрд╡ рд╣реИред
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ред рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╛рдУред
рдпрд╣рд╛рдБ
v.plirex.com/v.plirex.com.rar рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рд╕реНрд░реЛрдд рдХрд╛ рд▓рд┐рдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдореИрдВрдиреЗ
v.plirex.com рдбреЛрдореЗрди рдкрд░ рдПрдХ рдбреЗрдореЛ рднреА рдмрдирд╛рдпрд╛