gethttpstats
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:1k
源码类别:

SNMP编程

开发平台:

C/C++

  1. #!/usr/bin/perl
  2. #######################################################
  3. # Get Web stats from Apache 1.1.1 and better
  4. #######################################################
  5. # Author: Anthony Rumble <anthony@rumble.waratah.id.au>
  6. #
  7. # Revision: $Revision: 1.1.1.1 $
  8. #######################################################
  9. use strict;
  10. use Socket;
  11. my($request) = "/status/?auto";     # Request to send
  12. my($host) = "enterprise.ce.com.au"; # Host to send it to
  13. my($p) = 80;     # Port no
  14. my ($sin, $port, $iaddr, $paddr, $proto, $line, $uptime, $bytes);
  15. $proto = getprotobyname('tcp');
  16. if (!$proto)
  17. {
  18. die("getsockbyname");
  19. }
  20. socket(S, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
  21. $port = shift || $p;
  22. $iaddr = gethostbyname($host);
  23. if (!$iaddr)
  24. {
  25. die("gethostbyname");
  26. }
  27. $sin = sockaddr_in($port, $iaddr);
  28. if (!$sin)
  29. {
  30. die("sockaddr_in");
  31. }
  32. connect(S, $sin) || die "connect: $!";
  33. select(S); 
  34. $| = 1; 
  35. select(STDOUT);
  36. print S "GET $requestn";
  37. while (<S>) 
  38. {
  39. $bytes=$1 if (m|^Total Bytes: (S+)|);
  40. $uptime=$1 if (m|^Uptime: (S+)|);
  41. }
  42. close(S);
  43. print "0n$bytesn$uptimenenterprisen";