web-dev-qa-db-ja.com

APIを使用してパブリックIPを取得する

プログラム内からパブリックIPを取得するための大企業のパブリックAPIはありますか?

http://ip-address.domaintools.com/myip.xml、これはまさに私が望むものですが、残念ながら、ユーザーエージェントを偽装しない限り、Pythonのurllibおよび他の多くのhttpライブラリをブロックします(APIを呼び出すことができない)。

問題は、潜在的にオープンソースのライブラリにこのデータが必要なため、ルールを守らなければならないことです。私はまた、print $_SERVER[REMOTE_ADDR]が、ライブラリを使用しているすべての人にトラフィックを送りたくありません。

では、上記のURLのようなものがありますが、実際のAPIはロボットを許可しますか?

72
Slava V

大企業のものではありませんが、これらはすべて機能するはずです。

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

ソース

92
Jamie Wong

あなたは私のサービスからあなたのIPと他のたくさんの情報を得ることができます http://ipinfo.io

$ curl ipinfo.io
{
  "ip": "67.188.232.131",
  "hostname": "c-67-188-232-131.hsd1.ca.comcast.net",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.385999999999996,-122.0838",
  "org": "AS7922 Comcast Cable Communications, Inc.",
  "phone": 650
}

IPだけが必要な場合:

$ curl ipinfo.io/ip
67.188.232.131

これは、他のフィールドでも機能します。例:

$ curl ipinfo.io/org
AS7922 Comcast Cable Communications, Inc.

詳細は http://ipinfo.io/developers で入手できます。

37
Ben Dowling

Latlong、country、city、user-agentなどの詳細を示すjson形式:

https://www.trackip.net/ip?json

または

https://www.trackip.net/ip

13
nbari

私はこれを使用します。覚えやすく、他のものよりも短いです:

$ curl ifconfig.me

PROTIP:シェルスクリプトでcurlを使用する場合は、-sオプション、それ以外の場合は、ダウンロード進行状況テーブルを出力します。

$ echo `curl -s ifconfig.me`

2
sscarduzio

次のような動作をするWebサービスAPIを使用できます。

see example of service: http://ip-api.com and usage: http://whatmyip.info

がんばろう!!!

1
user3463375
0
rkhan

システムにcurlをインストールできない場合、wgetバリアントは次のようになります。

wget -qO- curlmyip.com
0
mimoralea

はい、whoisthisip.comで試すことができます

http://whoisthisip.com/HRAS/ whoisthisip.comに登録して、都市の場所、国の場所、ドメイン名などのWebサイトのIPアドレス情報を取得します。

ログインすると、登録したWebサイトのIPアドレスの情報を表示および取得するための参照コードとURLが提供されます。

0
Adam Biju