tags:

views:

23

answers:

1

Is there a public API from some big company to get my public ip from within a program?

I've found http://ip-address.domaintools.com/myip.xml, which is exactly what I want, but unfortunately it blocks Python's urllib as well as many other http libraries, unless you spoof user-agent (anything doing that can't be called an API at all).

The problem is that I need this data for some potentially open source library, so we have to play by the rules. I also know that I can just do smth like print $_SERVER[REMOTE_ADDR], but I don't want to server traffic to everyone using my library.

So, is there something like the URL above, but real API, that allows robots?

+1  A: 

While not from big companies, all of these should work:

curl icanhazip.com
curl -s 'http://checkip.dyndns.org' | sed 's/.*Current IP Address: \([0-9\.]*\).*/\1/g'
host -t a dartsclink.com | sed 's/.*has address //'

Source

Jamie Wong
That's awesome! Thanks a lot, esp. for dyndns one, that'll do!
Slava N