從零開始製作一個ip查詢網站-第二章 獲取使用者的IP
取得使用者 IP,ipify API,React useEffect fetch
Chris-
11 月 29,2025

開發環境準備好後,接下來我遇到的第一個實際開發問題,就是「我要怎麼拿到使用者的 IP?」 聽起來很簡單,但實際操作才發現瀏覽器並不會直接把使用者的真實 IP 丟給你。 所以我需要透過第三方 API 來協助抓取。

為什麼不能直接從瀏覽器取得 IP?

因為現代瀏覽器基於隱私政策,不會把使用者的公開 IP 直接暴露給前端程式。除非是像 WebRTC 那種 特殊情況,不然你基本上看不到使用者的 IP。這也代表我一定得使用外部 IP API。

選一個好用的 IP API

IP API 有很多種,我試了幾個以後,最後選擇使用 ipify API。 它的回傳格式乾淨、速度快,而且免費方案就能滿足一般查詢需求。 它的查詢方式也非常簡單,只要 GET 一次就能拿到一個 JSON。

https://api.ipify.org?format=json

這會回傳像這樣的內容:

{
    "ip": "123.123.123.123"
}

在 React 裡取得 IP

接著,我在 React 裡寫了一段最簡單的 fetch 請求,用來抓取 API 並把 IP 顯示在頁面上。 這邊先用 React 的 useEffect 來在頁面載入時請求 API。

import {useState,useEffect} from "react"

function App(){
    const[ip,setIp]=useState("")

    useEffect(function(){
        fetch("https://api.ipify.org?format=json")
        .then(function(res){
            return res.json()
        })
        .then(function(data){
            setIp(data.ip)
        })
    },[])

    return(
        <div>
            你的IP是:{ip}
        </div>
    )
}

export default App

這樣頁面一打開,就能立即看到使用者目前的 IP。 API 回傳得很快,所以畫面幾乎是瞬間更新。

小結:IP 到手,下一步做地理定位

有了 IP,只能算是踏進門口。下一章要處理的,就是更進一步的地理定位——取得城市、國家、緯經度等資訊。 這些資訊才是真正能讓我們把地圖顯示出來的關鍵。 也就是說,第三章開始,我就會把 IP 轉換成實際位置資訊。

Tags:
IP抓取React教學前端開發


相關文章
能不能看到圖,決定該用哪個 AI
能不能看到圖,決定該用哪個 AI
ricky - 2026-08-22T09:12:17.255607Z
從 10 張照片寫食記這種任務的本質是「看」——多模態 agent 能挑圖讀價目板寫真 alt,純文字 agent 只會盲挑瞎編。
一鍵發版背後:三個 repo 的分工
一鍵發版背後:三個 repo 的分工
ricky - 2026-07-09T02:00:00Z
一顆「發版」按鈕,背後牽動 fleet-console、部署後端與目標服務三個 repo。本文拆解版本號為什麼不能由前端計算、docker build --build-arg 如何無條件帶入 APP_...
Neon 睡著時,別讓使用者看到 500
Neon 睡著時,別讓使用者看到 500
ricky - 2026-08-22T09:10:16.630257Z
幫旅遊部落格客戶處理 Neon serverless Postgres 冷啟動 500 的退避重試:只重試暫時性連線錯誤、指數退避、驗證錯誤不重試。
訂閱電子報
隨時掌握最新的創業故事與設計開發過程
內容包含來自麒航團隊的日常分享、專業知識與工具推薦,助你了解更多創業背後的思維與技術。
麒航私房推薦
Clelereve Blog LogoClelereve Blog LogoClelereve Blog Logo
廣告區
Clelereve Blog Logo
聯絡我們
任何合作或問題請洽:
clelereve@gmail.com
Follow us
Copyright © 2025 blog.clelereve.com - All Rights Reserved
Frontend Version: -- | Backend Version: --
創業實驗筆記 - Clelereve Blog | 從零開始製作一個ip查詢網站-第二章 獲取使用者的IP | Clelereve Blog