Skip to content

Instantly share code, notes, and snippets.

@gtsafas
Created August 17, 2011 19:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gtsafas/6cf201e11d19b56f798b to your computer and use it in GitHub Desktop.
Save gtsafas/6cf201e11d19b56f798b to your computer and use it in GitHub Desktop.
jacking some geo server for mojo fun
sub whereami {
my $self = shift;
my $ip = $self->tx->remote_address;
my $client = Mojo::UserAgent->new;
my $ip_info = $client->get('http://geo.serving-sys.com/GeoTargeting/ebGetLocation.aspx?ip=' . $ip)->res->body;
my %data = map { (split /=/, $_) } split(/&/, $ip_info);
$self->render(json => \%data);
}
sub whereis {
my $self = shift;
my $ip = $self->param('ip');
my $client = Mojo::UserAgent->new;
my $ip_info = $client->get('http://geo.serving-sys.com/GeoTargeting/ebGetLocation.aspx?ip=' . $ip)->res->body;
my %data = map { (split /=/, $_) } split(/&/, $ip_info);
$self->render(json => \%data);
}
sub whereis_img {
my $self = shift;
my $ip = $self->param('ip');
my $client = Mojo::UserAgent->new;
my $ip_info = $client->get('http://geo.serving-sys.com/GeoTargeting/ebGetLocation.aspx?ip=' . $ip)->res->body;
my %data = map { (split /=/, $_) } split(/&/, $ip_info);
$self->render(
long => $data{Longitude},
lat => $data{Latitude},
country => $data{CountryName},
cc => $data{CountryCode},
city => $data{City},
ac => $data{AreaCode},
pc => $data{PostalCode},
);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment