Yvision.kz
kk
Разное
Разное
399 773 постов41 подписчиков
Всяко-разно
0
12:22, 15 мая 2009

Статистика с megaline.kz

Полтора месяца, может немногим более прошло, как я начал читать книжку по php. Написал небольшой скрипт от нечего делать, который логинится на сайт megaline.kz и получает оттуда статистику. Скрипт нуждается в доработке, шлифовке, но на это времени нет - главное работает.
  1. <?php
  2. $month = "200905"; //формат даты YYYYMM
  3. $name = "login"; //имя пользователя
  4. $pass = "password"; //пароль
  5. ini_set("max_execution_time", "600"); //порой не успевает отработать за 30 секунд
  6. //отправляем запрос
  7. $out = "GET /billing-dealer/index.do HTTP/1.1\r\n";
  8. $out .= "Host: cabinet.megaline.kz\r\n";
  9. $out .= "\r\n";
  10. $fp = fsockopen("cabinet.megaline.kz", 80);
  11. fwrite($fp, $out);
  12. while(!feof($fp))
  13. {
  14. $content .= fgets($fp, 1024);
  15. }
  16. fclose($fp);
  17. //получаем ID
  18. $begin = strpos($content, "JSESSIONID=") + strlen("JSESSIONID=");
  19. $end = strpos($content, ";", $begin);
  20. $sessionId = substr($content, $begin, $end - $begin);
  21. echo $sessionId;
  22. //формируем запрос с именем пользователя и паролем
  23. $query = "user=$name&password=$pass";
  24. $query_len = strlen($query);
  25. $rand = time();
  26. $out2 = "POST /billing-dealer/login.do;jsessionid=$sessionId&rand=$rand HTTP/1.1\r\n";
  27. $out2 .= "Host: cabinet.megaline.kz\r\n";
  28. $out2 .= "Referer: http://cabinet.megaline.kz/billing-dealer/index.do\r\n";
  29. $out2 .= "Content-Type: application/x-www-form-urlencoded\r\n";
  30. $out2 .= "Content-Length: $query_len\r\n";
  31. $out2 .= "Cookie: JSESSIONID=$sessionId; Path=/billing-dealer\r\n";
  32. $out2 .= "Connection: Close\r\n";
  33. $out2 .= "\r\n";
  34. $out2 .= $query;
  35. $fp = fsockopen("cabinet.megaline.kz", 80) or die("111");
  36. fwrite($fp, $out2);
  37. sleep(2);
  38. fclose($fp);
  39. $out3 = "GET http://cabinet.megaline.kz/billing-dealer/statistic-list.do?currDate=$month HTTP/1.1\r\n";
  40. $out3 .= "Host: cabinet.megaline.kz\r\n";
  41. $out3 .= "Referer: http://cabinet.megaline.kz/billing-dealer/index.do\r\n";
  42. $out3 .= "Cookie: JSESSIONID=$sessionId; Path=/billing-dealer\r\n";
  43. $out3 .= "\r\n";
  44. $content = '';
  45. $fp = fsockopen("cabinet.megaline.kz", 80);
  46. fwrite($fp, $out3);
  47. sleep(2);
  48. while(!feof($fp))
  49. {
  50. $content .= fgets($fp, 1024);
  51. }
  52. echo $content;
  53. fclose($fp);
  54. preg_match_all("/Total Internet256Hit<\/th>\s*<th><\/th>\s*<th>(\d+.\d+)<\/th>\s*<th>(\d+.\d+)/", $content, $matches);
  55. echo "<br /> Входящий внешний трафик: ".$matches[1][0]; //входящий трафик
  56. echo "<br /> Исходящий внешний трафик: ".$matches[2][0]; //искходящий трафик
  57. preg_match_all("/Total KazInternet512<\/th>\s*<th><\/th>\s*<th>(\d+.\d+)<\/th>\s*<th>(\d+.\d+)/", $content, $matches);
  58. echo "<br /> Входящий казахстанский трафик: ".$matches[1][0]; //входящий трафик
  59. echo "<br /> Исходящий казастанский трафик: ".$matches[2][0]; //искходящий трафик
  60. preg_match_all("/Total\s<\/th>\s*<th><\/th>\s*<th>(\d+.\d+)<\/th>\s*<th>(\d+.\d+)/", $content, $matches);
  61. echo "<br /> Общий входящий трафик: ".$matches[1][0]; //входящий трафик
  62. echo "<br /> Общий исходящий трафик: ".$matches[2][0]; //искходящий трафик
  63. ?>
0
347
2