Daten|teiler
Kopieren als Kulturtechnik

[Update] Get your IP address with Perl

6. April 2006 von Christian Imhorst

To get your IP address with a web browser is simple, because you only have to surf to whatismyip.com or look at the bottom of this page. For those who wonder how they can get their IP address behind a router from a script, here is my solution in perl:

#!/usr/bin/perl -w
use strict;
use LWP::Simple;
 
my $url = ("http://www.whatismyip.com/automation/n09230945.asp");
my $var = get($url);
 
$var =~ m/(\d+).(\d+).(\d+).(\d+)/;
print "Your IP address is: $1.$2.$3.$4 \n";

I got the idea for the script from cray at debianer.org (only in german). He has solved the problem in the command line. Here is the solution in two lines because the URL is very long:

URL="http://www.whatismyip.com/automation/n09230945.asp"
lynx -dump $URL | grep '[0-9][0-9]*[.][0-9][0-9]*[.][0-9] \\
[0-9]*[.][0-9][0-9]' | awk '{print $1}'

Don’t forget: For this you need lynx, grep and awk. Then you have to write the text above in one single line.

[Update]: But it is also possible to realise this with perl in just one single line using the command line:

perl -MLWP::Simple -le 'print get("http://www.whatismyip.com/
automation/n09230945.asp")=~/(\d+.)(\d+.)(\d+.)(\d+)/i'

This looks a little bit more like perl, does it not? You do not have the perl module LWP::Simple? No problem, you can install it with:

sudo perl -MCPAN -e 'install  LWP::Simple'

Geschrieben in English, Programmieren

5 Antworten

  1. imhorst.net » Blog Archive » Meine IP-Adresse mit Python herausfinden

    […] man seine IP-Adresse im Internet in der Shell und/oder mit Perl herausbekommt, habe ich ja bereits gezeigt. Was aber, wenn man diese Adresse auch in der Python-Shell braucht? Dafür habe ich die Funktion […]

  2. Freiheit als Kulturtechnik - imhorst.net » Blog Archive » Meine IP-Adresse mit C++ herausfinden

    […] HTTP-Anfrage, das Abwarten der Antwort und so fort. Da ich das gerne glaube habe ich nicht wie in Perl oder Python ein eigenes kleines Programm bzw. eine eigene Funktion geschrieben, sonder auf die […]

  3. Robert Tulke

    lynx -dump http://www.whatismyip.com |grep ‘[0-9]*[0-9]*[0-9][.][0-9]*[0-9]*[0-9][.][0-9]*[0-9]*[0-9]$’ |awk -F ‘\: ‘ {‘print $2′}

  4. Robert Tulke

    short :D but no check

    lynx -dump http://www.myip.ch |awk {‘print $4′}

  5. update update

    lynx -dump http://www.whatismyip.com |grep ‘[0-9]*[0-9]*[0-9][.][0-9]*[0-9]*[0-9][.][0-9]*[0-9]*[0-9]$’