Địa chỉ IP của tôi
curl ipin.io
Lệnh curl
tiêu chuẩn hoạt động trên hầu hết các hệ Unix. Để xuất JSON:
curl ipin.io/json
curl --ipv4 ipin.io
Bắt buộc kết nối IPv4 trên Termux. Hoặc thêm timeout:
curl --connect-timeout 5 ipin.io
(Invoke-WebRequest -Uri "http://ipin.io").Content
Cú pháp PowerShell đơn giản. Để nhận JSON:
(Invoke-WebRequest -Uri "http://ipin.io/json").Content | ConvertFrom-Json
wget -qO- ipin.io
Chế độ yên lặng (-q
) xuất ra stdout (-O-
). Cho Alpine Linux (iSH):
apk add curl && curl ipin.io
wget -qO- --timeout=10 ipin.io
Khuyên dùng cho thiết bị tài nguyên thấp. Nếu không có wget
:
opkg install wget-ssl
curl --max-time 5 ipin.io
Dùng cho container tối giản không có curl:
docker run --rm alpine wget -qO- ipin.io
fetch('https://ipin.io/get_client_ip')
.then(r => r.ok ? r.json() : Promise.reject('Lỗi API'))
.then(data => console.log('IP:', data.ip))
.catch(e => console.error('Lỗi:', e))
Ví dụ cơ bản có xử lý lỗi. Để dùng thực tế:
- Thêm xử lý timeout với AbortController
- Xem xét yêu cầu CORS nếu gọi chéo domain
- Lưu cache kết quả để tránh giới hạn tần suất
Lưu ý:
API trình duyệt có thể trả về IP khác với kiểm tra phía server do proxy/VPN. Để lấy IP khách chính xác trên web, nên kiểm tra phía server.
Giới thiệu chi tiết về công cụ kiểm tra IP
Công cụ này là giải pháp tra cứu IP công cộng đa nền tảng, dành cho nhà phát triển và quản trị hệ thống. Nó xác định chính xác địa chỉ IP công cộng của thiết bị trong nhiều môi trường mạng phức tạp. Khác với dịch vụ truyền thống, giải pháp này được tối ưu cho từng hệ điều hành, đảm bảo hoạt động ổn định trong mọi kịch bản.
Công cụ hỗ trợ nhiều nền tảng như terminal macOS/Linux, Windows PowerShell, Android Termux, iOS iSH, hệ thống router OpenWRT và môi trường Docker. Mỗi nền tảng đều có lệnh mẫu đã kiểm thử phù hợp với đặc thù mạng, bộ công cụ mặc định và hạn chế cấu hình phổ biến.
Đặc biệt, chúng tôi cũng cung cấp giải pháp JavaScript phía trình duyệt, dựa trên fetch API hiện đại, hỗ trợ Promise cho gọi bất đồng bộ, tiện cho lập trình viên frontend tích hợp vào web. Đã xử lý vấn đề CORS và có logic bắt lỗi hoàn thiện.
Tất cả API tra cứu hỗ trợ dual-stack IPv4 & IPv6, tự động chọn cách truy vấn tối ưu theo mạng. Kết quả trả về dạng text thuần hoặc JSON với thông tin đầy đủ về IP như vị trí, nhà cung cấp, dữ liệu mở rộng khác.
Hướng dẫn sử dụng chi tiết
1. Lệnh phù hợp từng môi trường
Tùy vào môi trường, chúng tôi khuyên bạn dùng các lệnh tối ưu sau:
-
Hệ Unix (macOS/Linux/BSD...):
curl -s ipin.io
Sử dụng curl đơn giản và hiệu quả, thêm -s để im lặng. Nên thêm timeout:
--connect-timeout 3
-
Windows:
(Invoke-WebRequest -Uri "http://ipin.io" -UseBasicParsing).Content
Lệnh gốc PowerShell. Nếu hệ cũ có thể dùng:
(New-Object Net.WebClient).DownloadString("http://ipin.io")
-
Thiết bị di động:
# Android Termux curl --ipv4 --silent ipin.io # iOS iSH wget -qO- --no-check-certificate ipin.io
Android ép dùng IPv4 để tránh lỗi dual-stack, iOS bỏ kiểm tra chứng chỉ. Nên thêm lặp lại (retry) cho tin cậy hơn.
2. Mẹo sử dụng nâng cao
-
Kết quả JSON:
Thêm
/json
vào URL để nhận dữ liệu cấu trúc:curl ipin.io/get_client_ip
Ví dụ trả về:
{"ip": "203.0.113.45"}
-
Mẹo kiểm tra mạng:
Với môi trường mạng phức tạp, nên dùng các tham số sau:
curl --retry 2 --connect-timeout 5 --max-time 10 ipin.io
Lệnh sẽ thử kết nối trong 5 giây, lặp lại tối đa 2 lần, và toàn bộ không quá 10 giây.