ipify—A Simple IP Address API

一个简单的IP地址API。

你可以直接访问:[https://api.ipify.org/][1] 查看你的IP

你是否需要通过程序获取对外的IP地址?

也许你正在配置新的云服务器,需要知道你的IP。

也许你在公司的防火墙后面,需要tunnel信息。

不管是什么原因:有一个获取可以获取公共IP地址的API是没坏处的。

你值得使用 ipify是因为:

  • 你可以毫无限制地使用它(即使你每分钟做数百万个请求)。

  • 它总是在线并可用的,它的基础设施是由 Heroku 提供的,这意味着你不用管运行API的服务器是否挂掉了,如果有龙卷风摧毁了东海岸,ipify仍将运行。

  • 它兼容IPv4和IPv6地址,无论你使用什么样的技术,都不会有问题。

  • ipify是开源的,Git仓库

  • 从不记录访问者信息

  • 最后,ipify是 Randall Degges 资助的,所以不用担心它会消失

API的使用

示例

Bash

#!/bin/bash
 
ip=$(curl -s https://api.ipify.org)
echo "My public IP address is: $ip"

Python

# This example requires the requests library be installed.  You can learn more
# about the Requests library here: http://docs.python-requests.org/en/latest/
from requests import get
 
ip = get('https://api.ipify.org').text
print('My public IP address is: {}'.format(ip))

PHP


<?php
    $ip = file_get_contents('https://api.ipify.org');
    echo "My public IP address is: " . $ip;
?>

Java

try (java.util.Scanner s = new java.util.Scanner(new java.net.URL("https://api.ipify.org").openStream(), "UTF-8").useDelimiter("\\A")) {
    System.out.println("My current IP address is " + s.next());
} catch (java.io.IOException e) {
    e.printStackTrace();
}

NodeJS

var http = require('http');
 
http.get({'host': 'api.ipify.org', 'port': 80, 'path': '/'}, function(resp) {
  resp.on('data', function(ip) {
    console.log("My public IP address is: " + ip);
  });
});

JavaScript

<script type="application/javascript">
  function getIP(json) {
    document.write("My public IP address is: ", json.ip);
  }
</script>
 
<script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP"></script>

jQuery

<script type="application/javascript">
  $(function() {
    $.getJSON("https://api.ipify.org?format=jsonp&callback=?",
      function(json) {
        document.write("My public IP address is: ", json.ip);
      }
    );
  });
</script>

Go

package main
 
import (
        "io/ioutil"
        "net/http"
        "os"
)
 
func main() {
        res, _ := http.Get("https://api.ipify.org")
        ip, _ := ioutil.ReadAll(res.Body)
        os.Stdout.Write(ip)
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值