/[maps]/lib/Net/Analysis/Listener/Maps.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /lib/Net/Analysis/Listener/Maps.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 11 - (hide annotations)
Wed Oct 17 15:39:44 2007 UTC (16 years, 5 months ago) by dpavlin
Original Path: Maps.pm
File size: 1176 byte(s)
- combine all to single Net::Analysis::Listener::Maps
- support Yahoo maps
1 dpavlin 11 package Net::Analysis::Listener::Maps;
2 dpavlin 1
3     use strict;
4     use warnings;
5     use base qw(Net::Analysis::Listener::Base);
6     use File::Slurp;
7    
8     sub http_transaction {
9     my ($self, $args) = @_;
10     my ($req) = $args->{req}; # isa HTTP::Request
11     my ($resp) = $args->{resp}; # isa HTTP::Response
12     my ($req_mono) = $args->{req_mono}; # isa Net::Analysis::TCPMonologue
13     my ($resp_mono) = $args->{resp_mono}; # isa Net::Analysis::TCPMonologue
14    
15 dpavlin 11 print ">> ",$req->uri, "\n";
16 dpavlin 1
17 dpavlin 11 my $ext;
18    
19 dpavlin 1 if ( $req->uri() =~ m!/GElin/MapSrv\.aspx\?lwM=(\d+)&twM=(\d+)&zf=(\d+)! ) {
20 dpavlin 11 # Mireo
21     $ext = 'png';
22     } elsif ( $req->uri() =~ m!/mt\?.*x=(\d+)&y=(\d+)&zoom=(\d+)! ) {
23     # Google maps
24     $ext = 'png'
25     } elsif ( $req->uri() =~ m!/aerial.maps.yimg.com/img.*&x=(\d+)&y=(\d+)&z=(\d+)! ) {
26     $ext = 'jpg'
27     }
28    
29     if ( $ext ) {
30 dpavlin 1 mkdir "dump" unless -e "dump";
31     mkdir "dump/$3" unless -e "dump/$3";
32 dpavlin 11 my $file = "dump/$3/$1-$2.$ext";
33     write_file( $file, $resp->content );
34     print "$1x$2 zoom: $3 -> $file ", -s $file, " bytes\n";
35 dpavlin 1 }
36 dpavlin 11
37 dpavlin 1 }
38    
39     1;
40    
41     =head1 NAME
42    
43 dpavlin 11 Net::Analysis::Listener::Maps - looking at HTTP transactions
44 dpavlin 1
45 dpavlin 11 $ perl -MNet::Analysis -e main HTTP Maps maps_dump.tcp
46 dpavlin 1

  ViewVC Help
Powered by ViewVC 1.1.26