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?
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 //'
curl curlmyip.com
curl ifconfig.me # this has a lot of different alternatives too, such as ifconfig.me/host
Source