/[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 35 - (hide annotations)
Mon Sep 29 13:43:37 2008 UTC (15 years, 6 months ago) by dpavlin
File size: 1327 byte(s)
fix google maps extraction
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 dpavlin 14 my $i = 0;
9    
10 dpavlin 1 sub http_transaction {
11     my ($self, $args) = @_;
12     my ($req) = $args->{req}; # isa HTTP::Request
13     my ($resp) = $args->{resp}; # isa HTTP::Response
14     my ($req_mono) = $args->{req_mono}; # isa Net::Analysis::TCPMonologue
15     my ($resp_mono) = $args->{resp_mono}; # isa Net::Analysis::TCPMonologue
16    
17 dpavlin 12 my $file;
18 dpavlin 1
19     if ( $req->uri() =~ m!/GElin/MapSrv\.aspx\?lwM=(\d+)&twM=(\d+)&zf=(\d+)! ) {
20 dpavlin 11 # Mireo
21 dpavlin 12 $file = "$3/$1-$2.gif";
22 dpavlin 35 } elsif ( $req->uri() =~ m!/mt\?.*x=(\d+).*?&y=(\d+).*?&z=(\d+)! ) {
23 dpavlin 11 # Google maps
24 dpavlin 12 $file = "$3/$1-$2.png";
25     } elsif ( $req->uri() =~ m!/aerial.maps.yimg.com/img.*&x=(\d+)&y=(\d+)&z=(\d+)&v=1\.7! ) {
26     # Yahoo maps
27     $file = "$3/$1-$2.jpg";
28 dpavlin 14 } elsif ( $req->uri() =~ m!/GElin/mireo.NET.MapSearchWeb! ) {
29     $file = "foo$i";
30     $i++;
31 dpavlin 11 }
32    
33 dpavlin 12 if ( $file ) {
34 dpavlin 1 mkdir "dump" unless -e "dump";
35     mkdir "dump/$3" unless -e "dump/$3";
36 dpavlin 12 write_file( "dump/$file", $resp->content );
37     print "$1x$2 zoom: $3 -> $file ", -s "dump/$file", " bytes\n";
38     } else {
39     print ">> ",$req->uri, "\n";
40 dpavlin 1 }
41 dpavlin 11
42 dpavlin 12
43 dpavlin 1 }
44    
45     1;
46    
47     =head1 NAME
48    
49 dpavlin 11 Net::Analysis::Listener::Maps - looking at HTTP transactions
50 dpavlin 1
51 dpavlin 11 $ perl -MNet::Analysis -e main HTTP Maps maps_dump.tcp
52 dpavlin 1

  ViewVC Help
Powered by ViewVC 1.1.26