利用ipify取得public IP

ipify是一個可以取得public的的API
這是上次在看SweetAlert2範例時不小心看到的
ipify還提供相當多的程式語言範例,其中還可以指定以json的格式回傳資料
只要照著直接調用就可以了

以 PHP 來說以前我的寫法和網路上網友提供的方式是這樣子的

<?php
if (!empty($_SERVER["HTTP_CLIENT_IP"])){
    $ip = $_SERVER["HTTP_CLIENT_IP"];
}elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
    $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}else{
    $ip = $_SERVER["REMOTE_ADDR"];
}

echo $ip;
?>

是不是又臭又長吶!!
但現在直接用ipify的話直接用file_get_contents呼叫API就可以了

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

天丫!!是不是輕鬆又愉快丫!!

而或是今天我想在shell script裡取得public IP在以往我肯定得再研究一番
但現在呢?

#!/bin/bash

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

總之ipify還供相當多的語言(Python、Ruby、Java、Perl、Go、JavaScript、jQuery......等)
初步看來官方還提供各種語言的Libraries,可以讓您直接在Project引入呼叫
超級無敵的吶

另外官網的網址是掛載在ORG底下
看來應該也會是一個蠻穩定的Project
只是目前還不支援IPv6
可惜可惜

大家不妨也體驗看看吧!!

您可能也會喜歡…

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *