如何在 JavaScript 中獲取客戶端 IP 地址
Kirill Ibrahim
2023年12月11日
-
在 JavaScript 中使用
Ipify
應用程式獲取客戶端 IP 地址 -
在 JavaScript 中使用
Ipinfo
應用程式獲取客戶端 IP 地址 -
在 JavaScript 中使用
Abstract
應用程式獲取客戶端 IP 地址
IP 地址是一個數字的組合,它為你的網路硬體提供了一個獨特的地址,它就像一個指紋,或者就像一個人有一個電子郵件地址來接收電子郵件。它將你的計算機與網路中的其他裝置、網路以及世界各地的裝置連線起來。
JavaScript 通過第三方應用獲取一個屬於客戶端的公共 IP 地址。第三方應用程式獲取使用者 IP 地址,並以三種格式返回-純文字、JSON 和 JSONP 格式。網際網路上有幾十種這樣的應用。
在本文中,我們將介紹三種最流行的 JavaScript 獲取 IP 地址的工具–ipify
、ipinfo
和 Abstract
。
在 JavaScript 中使用 Ipify
應用程式獲取客戶端 IP 地址
ipify
是一個開源的應用程式。你可以在[GitHub 倉庫)]中獲取程式碼。即使你每分鐘發出數百萬個請求,也沒有限制。
例子
請安裝 Axios
(瀏覽器和 node.js 的 HTTP 客戶端),或者為它包含 CDN。
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
async function getIpClient() {
try {
const response = await axios.get('https://api.ipify.org?format=json');
console.log(response);
} catch (error) {
console.error(error);
}
}
getIpClient();
</script>
輸出:
data: {ip: "198.16.76.28"}
在 JavaScript 中使用 Ipinfo
應用程式獲取客戶端 IP 地址
Ipinfo
應用程式有使用限制。你可以每天免費提出 1,000 次請求,或註冊一個免費計劃,每月可獲得 50,000 次免費請求。
例子
async function getIpClient() {
try {
const response = await axios.get('https://ipinfo.io/json');
console.log(response);
} catch (error) {
console.error(error);
}
}
getIpClient();
輸出:
{
city: "Amsterdam"
country: "NL"
ip: "198.16.76.28"
loc: "52.3740,4.8897"
org: "AS174 Cogent Communications"
postal: "1012"
readme: "https://ipinfo.io/missingauth"
region: "North Holland"
timezone: "Europe/Amsterdam"
}
在 JavaScript 中使用 Abstract
應用程式獲取客戶端 IP 地址
Abstract
應用程式也有每月 20,000 次免費請求的限制。而且即使是免費計劃,也需要註冊才能獲得 API 金鑰。
例子:請訪問 Abstract
async function getIpClient() {
try {
const response = await axios.get(
'https://ipgeolocation.abstractapi.com/v1/?api_key=<your_api_key>');
console.log(response);
} catch (error) {
console.error(error);
}
}
getIpClient();
請訪問 Abstract
網站,預覽上述功能的輸出。