Advertisement
Guest User

Untitled

a guest
Jul 13th, 2013
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.51 KB | None | 0 0
  1. Пытаюсь скорость загрузки страницы через прокси определить, подскажите чего не так пожалуйста.
  2. Я сравниваю скорость с http://spys.ru/speed/  всегда отличается от скорости скрипта почему-то.
  3. Чем больше вариаций скорости ставлю if (@speed_variations == 10) тем выше пишет скорость.
  4.  
  5. #!/usr/bin/perl
  6.  
  7. use strict;
  8. use warnings;
  9. use LWP::UserAgent;
  10. use HTTP::Cookies;
  11. use Time::HiRes;
  12. my $ua = LWP::UserAgent->new(agent => 'Mozilla 5.0', timeout => 10);
  13.  
  14. my $url ='http://yandex.ru';        #сайт который загружаем
  15.  
  16. my $line='5.63.153.66:3128';      #прокся
  17.  
  18. $ua->proxy('http',"http://".$line."/");
  19.  
  20.  
  21. #----------------------------------------------
  22. my @speed_variations;
  23. my $received_bytes = 0;
  24. my $curspeed;
  25. my $maxbytes = 1024*1024;
  26. my $start = Time::HiRes::time();
  27. #-----------------------------------------------
  28.  
  29. my $resp = $ua->get($url, ':content_cb' => sub {
  30. $received_bytes += length($ua);
  31. $curspeed = $received_bytes / (Time::HiRes::time() - $start);
  32. die if $received_bytes > $maxbytes;
  33.  
  34. print "Variation:$curspeed\n";
  35.  
  36. if (@speed_variations == 10) {
  37. my $ok = 1;
  38. for my $s (@speed_variations) {
  39. if (abs($s - $curspeed) > 5 * 1024) {
  40. $ok = 0;
  41. last;
  42. }
  43. }
  44. die if $ok;
  45. shift @speed_variations;
  46. }
  47. push @speed_variations, $curspeed;
  48. });
  49.  
  50. print "Rezultat : $curspeed\n";
  51. <>;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement