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