Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2019
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.14 KB | None | 0 0
  1. <?php
  2. ini_set("display_errors", 1);
  3. ini_set('error_reporting', E_ALL);
  4.  
  5. $url = "https://passport.yandex.ru/auth";
  6.  
  7. $login = ''; //Логин
  8. $passwd = ''; //Пароль
  9. $user_cookie_file = 'cookies.txt'; //Полный путь до файла, где будем хранить куки
  10. $idkey = '0EN13471777512SYYmjWcm'; //Хрен знает что
  11. $retpath = ''; //Откуда мы пришли на страницу авторизации
  12. $timestamp = ''; //Хрен знает что
  13. $twoweeks = 'yes'; //Две недели какие-то
  14. $In = 'Войти'; //Кнопка входа
  15.  
  16. auth($url); // Авторизируемся.
  17. selectPark();
  18. $driverId = findDriverId($_GET["query"]);
  19. $balance = getBalanceByDriverId($driverId);
  20.  
  21. echo $balance;
  22.  
  23. function auth($url) {
  24. global $user_cookie_file, $idkey, $retpath, $timestamp, $login, $passwd, $twoweeks, $In; // Получаем все POST данные
  25. /* Небольшая прелюдия с инифиализацией cURL и прочей шулухой */
  26. $ch = curl_init($url);
  27.  
  28. curl_setopt($ch, CURLOPT_URL,$url);
  29. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  30. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
  31. curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); //Куки раз
  32. curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); //Куки два
  33. curl_setopt($ch, CURLOPT_POST,1); //Будем отправлять POST запрос
  34. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  35.  
  36. curl_setopt($ch, CURLOPT_POSTFIELDS,"idkey=$idkey&retpath=$retpath&timestamp=$timestamp&login=$login&passwd=$passwd&twoweeks=$twoweeks&In=$In&display=page");
  37.  
  38. $html = curl_exec($ch);
  39.  
  40. curl_close($ch);
  41.  
  42. return $html; //Возвращаем ответ Яндекса
  43. }
  44.  
  45. function selectPark() {
  46. $url = 'https://lk.taximeter.yandex.ru/login?db=f25f9892dd5c457394733ffe83fcccab';
  47.  
  48. $user_cookie_file = 'cookies.txt'; //Получаем сохраненный после авторизации файл с куками.
  49. $ch = curl_init($url);
  50.  
  51. curl_setopt($ch, CURLOPT_URL,$url);
  52. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  53. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
  54. curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); //Подставляем куки раз
  55. curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); //Подставляем куки два
  56. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  57.  
  58. $html = curl_exec($ch);
  59.  
  60. curl_close($ch);
  61.  
  62. return $html; //Возвращаем ответ
  63. }
  64.  
  65. function findDriverId ($searchText) {
  66. $url = 'https://lk.taximeter.yandex.ru/dictionary/items/drivers?filter=all&rule=&is_timeblock=false&is_chair=false&is_buster=false&q='.urlencode($searchText).'&category=0&service=0&date_last_order=';
  67.  
  68. $user_cookie_file = 'cookies.txt'; //Получаем сохраненный после авторизации файл с куками.
  69.  
  70. $ch = curl_init();
  71.  
  72. curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  73. ':authority: lk.taximeter.yandex.ru',
  74. ':method: POST',
  75. ':path: /dictionary/items/drivers',
  76. ':scheme: https',
  77. 'accept: text/html',
  78. 'accept-charset: utf-8',
  79. 'accept-encoding: gzip, deflate, br',
  80. 'accept-language: en-US,en;q=0.9,ru;q=0.8',
  81. 'content-length: 0',
  82. 'content-type: application/x-www-form-urlencoded; charset=UTF-8',
  83. 'cookie: yandexuid=2781907721554184636; i=hBJNiKJtZBdXXC/0qeCkRSDGg2Hrkm6Sf7YGxHreCFz2QE/zRtF8tY8becz3lIkPfuEsgfyOYkEiL+856Bq2JD+z15c=; _ym_wasSynced=%7B%22time%22%3A1554184647450%2C%22params%22%3A%7B%22eu%22%3A0%7D%2C%22bkParams%22%3A%7B%7D%7D; _ym_uid=1554184647371772611; _ym_d=1554184647; mda=0; _ym_isad=2; _ym_visorc_44292669=w; _ym_visorc_784657=b; Session_id=3:1554184669.5.0.1554184669682:VQR-bQ:51.1|824038420.0.2|197152.715309.Oq9oPLJFuLktsbSq5HEsl7Px1jw; sessionid2=3:1554184669.5.0.1554184669682:VQR-bQ:51.1|824038420.0.2|197152.2716.FZu-drArsSWg4bUgreLtNyV5IJg; yp=1869544636.yrts.1554184636#1869544636.yrtsi.1554184636#1869544669.udn.cDpQYXJrQ2FyRGlzcA%3D%3D; ys=udn.cDpQYXJrQ2FyRGlzcA%3D%3D; L=fn1mcVtUVkhFCk5HU31qUWN5S2kEZVlNCS4DXzs2BnAzMUc=.1554184669.13823.318700.1623d36d93b1b0243d6fd5f56e670bd6; yandex_login=ParkCarDisp; .AspNetCore.Antiforgery.uGYhvnAGzi0=CfDJ8Pj1S8DdfZlAigez8TXM6pAlgbkDQYmB1JjnAfta3VM4yPIaicKfUl7MDGOjwFmXo93o-uOY97_j2_WRVljHkBgwSomH-YDpkxrqGseuLggJ1izxastc4vuzdhZ8NgGgM4x91j1wdQOl9-bCACz-VU8; user_login=ParkCarDisp; _ym_visorc_51171164=w; user_db=1a14b9b3ec0248f1bb63e00fad3e6e67; hide_menu=false; .AspNetCore.Culture=c%3Dru%7Cuic%3Den; YandexPassport.Auth=CfDJ8Pj1S8DdfZlAigez8TXM6pD35HLk2jotNn3ZnAXTkNyWnDcaW%2FJj4iazgxc0Np8ca%2BM30FA8d%2FoSZ7lHVXNCDJ2X6fB%2B7Gdd4ZwQWVIErYZgmLOR7gDwZNLlnmh0pK1Cz883PolNevrs7XLwn5UUx1w6cUbOiAW1n%2FsZavwgMekCroembHSrUrGHKoOiiLe9lBFhjpjqVO9ang%2BkTSkVSlW38F5B5GfoSlSJSyuynpCs2Sw0VNqFivcvUhaDP3Dc5ydMGKXx%2FIJXdSR1%2FLRgVFzVTwWAvsQ6QRtmxto9orBpTlrS9rwajqilGsioHHcqOQ%3D%3D',
  84. 'origin: https://lk.taximeter.yandex.ru',
  85. 'referer: https://lk.taximeter.yandex.ru/dictionary/drivers?db=1a14b9b3ec0248f1bb63e00fad3e6e67&lang=en&hide_menu=false',
  86. 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
  87. 'x-requested-with: XMLHttpRequest',
  88. 'x-taximeter-antiforgery: CfDJ8Pj1S8DdfZlAigez8TXM6pDLGRULEaZYZ5cL6_zJ7XXLap7XdpFmqcHLeNPaPysswLLMMXPzT0JrDKHxu_kMfpOzttU5LDF1iy25VvTQqu4G4n4BxL6MDRUlCxf_Xh5KX2eSHFNHaPFrVdpLMCH1arTJLtSZkBDt2FDyyXcy-33UqgfAdSCdOpXaIpdbSb-a_A'
  89. ));
  90.  
  91. curl_setopt($ch, CURLOPT_URL,$url);
  92. curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
  93. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
  94. curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); //Подставляем куки раз
  95. curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); //Подставляем куки два
  96. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  97. curl_setopt($ch, CURLOPT_POSTFIELDS,"filter=all&rule=&is_timeblock=false&is_chair=false&is_buster=false&q=5&category=0&service=0&date_last_order=");
  98. curl_setopt( $ch, CURLOPT_ENCODING, "UTF-8" );
  99.  
  100.  
  101. $server_output = curl_exec($ch);
  102.  
  103. curl_close ($ch);
  104.  
  105. return explode('"', explode('data-guid="', $server_output)[1])[0];
  106. }
  107.  
  108. function getBalanceByDriverId ($driverId) {
  109. $url = 'https://lk.taximeter.yandex.ru/driver/items/pays?driver='.$driverId;
  110.  
  111. $user_cookie_file = 'cookies.txt'; //Получаем сохраненный после авторизации файл с куками.
  112.  
  113. $ch = curl_init();
  114.  
  115. curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  116. ':authority: lk.taximeter.yandex.ru',
  117. ':method: POST',
  118. ':path: /dictionary/items/drivers',
  119. ':scheme: https',
  120. 'accept: text/html',
  121. 'accept-charset: utf-8',
  122. 'accept-encoding: gzip, deflate, br',
  123. 'accept-language: en-US,en;q=0.9,ru;q=0.8',
  124. 'content-length: 0',
  125. 'content-type: application/x-www-form-urlencoded; charset=UTF-8',
  126. 'cookie: yandexuid=2781907721554184636; i=hBJNiKJtZBdXXC/0qeCkRSDGg2Hrkm6Sf7YGxHreCFz2QE/zRtF8tY8becz3lIkPfuEsgfyOYkEiL+856Bq2JD+z15c=; _ym_wasSynced=%7B%22time%22%3A1554184647450%2C%22params%22%3A%7B%22eu%22%3A0%7D%2C%22bkParams%22%3A%7B%7D%7D; _ym_uid=1554184647371772611; _ym_d=1554184647; mda=0; _ym_isad=2; _ym_visorc_44292669=w; _ym_visorc_784657=b; Session_id=3:1554184669.5.0.1554184669682:VQR-bQ:51.1|824038420.0.2|197152.715309.Oq9oPLJFuLktsbSq5HEsl7Px1jw; sessionid2=3:1554184669.5.0.1554184669682:VQR-bQ:51.1|824038420.0.2|197152.2716.FZu-drArsSWg4bUgreLtNyV5IJg; yp=1869544636.yrts.1554184636#1869544636.yrtsi.1554184636#1869544669.udn.cDpQYXJrQ2FyRGlzcA%3D%3D; ys=udn.cDpQYXJrQ2FyRGlzcA%3D%3D; L=fn1mcVtUVkhFCk5HU31qUWN5S2kEZVlNCS4DXzs2BnAzMUc=.1554184669.13823.318700.1623d36d93b1b0243d6fd5f56e670bd6; yandex_login=ParkCarDisp; .AspNetCore.Antiforgery.uGYhvnAGzi0=CfDJ8Pj1S8DdfZlAigez8TXM6pAlgbkDQYmB1JjnAfta3VM4yPIaicKfUl7MDGOjwFmXo93o-uOY97_j2_WRVljHkBgwSomH-YDpkxrqGseuLggJ1izxastc4vuzdhZ8NgGgM4x91j1wdQOl9-bCACz-VU8; user_login=ParkCarDisp; _ym_visorc_51171164=w; user_db=1a14b9b3ec0248f1bb63e00fad3e6e67; hide_menu=false; .AspNetCore.Culture=c%3Dru%7Cuic%3Den; YandexPassport.Auth=CfDJ8Pj1S8DdfZlAigez8TXM6pD35HLk2jotNn3ZnAXTkNyWnDcaW%2FJj4iazgxc0Np8ca%2BM30FA8d%2FoSZ7lHVXNCDJ2X6fB%2B7Gdd4ZwQWVIErYZgmLOR7gDwZNLlnmh0pK1Cz883PolNevrs7XLwn5UUx1w6cUbOiAW1n%2FsZavwgMekCroembHSrUrGHKoOiiLe9lBFhjpjqVO9ang%2BkTSkVSlW38F5B5GfoSlSJSyuynpCs2Sw0VNqFivcvUhaDP3Dc5ydMGKXx%2FIJXdSR1%2FLRgVFzVTwWAvsQ6QRtmxto9orBpTlrS9rwajqilGsioHHcqOQ%3D%3D',
  127. 'origin: https://lk.taximeter.yandex.ru',
  128. 'referer: https://lk.taximeter.yandex.ru/dictionary/drivers?db=1a14b9b3ec0248f1bb63e00fad3e6e67&lang=en&hide_menu=false',
  129. 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
  130. 'x-requested-with: XMLHttpRequest',
  131. 'x-taximeter-antiforgery: CfDJ8Pj1S8DdfZlAigez8TXM6pDLGRULEaZYZ5cL6_zJ7XXLap7XdpFmqcHLeNPaPysswLLMMXPzT0JrDKHxu_kMfpOzttU5LDF1iy25VvTQqu4G4n4BxL6MDRUlCxf_Xh5KX2eSHFNHaPFrVdpLMCH1arTJLtSZkBDt2FDyyXcy-33UqgfAdSCdOpXaIpdbSb-a_A'
  132. ));
  133.  
  134. curl_setopt($ch, CURLOPT_URL,$url);
  135. curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
  136. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
  137. curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); //Подставляем куки раз
  138. curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); //Подставляем куки два
  139. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  140. curl_setopt( $ch, CURLOPT_ENCODING, "UTF-8" );
  141.  
  142. $server_output = curl_exec($ch);
  143.  
  144. curl_close ($ch);
  145.  
  146. $parts = explode('<td class="r">', $server_output);
  147.  
  148. $balance = $parts[1];
  149.  
  150. $balance = str_replace(",", ".", str_replace("&#xA0;", "", trim(explode("</div>", explode("<div>", $balance)[1])[0])));
  151.  
  152. return $balance;
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement