<script src="https://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"></script>
<script>
// 全域變數 remote_ip_info 可用
console.log("省份:" + remote_ip_info.province);
console.log("城市:" + remote_ip_info.city);
console.log("ISP:" + remote_ip_info.isp);
</script>
function getLocationBySina(callback) {
// 避免重複載入腳本
if (window.remote_ip_info) {
callback(window.remote_ip_info);
return;
}
var script = document.createElement('script');
script.src = 'https://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js';
script.onload = function() {
if (window.remote_ip_info) {
callback(window.remote_ip_info);
} else {
callback(null); // 解析失敗
}
};
script.onerror = function() { callback(null); };
document.head.appendChild(script);
}
// 使用
getLocationBySina(function(info) {
if (info) {
alert("您在:" + info.province + " " + info.city);
// 繼續業務邏輯...
} else {
alert("無法獲取位置,請手動選擇城市");
}
});
| 服務 | 接口 | 支援城市 | HTTPS | 頻率限制 | 備註 |
|---|---|---|---|---|---|
| 新浪 | iplookup.php?format=js | ✅ | ❌ | 寬鬆 | 最常用、穩定 |
| 淘寶 | ip.taobao.com/outGetIpInfo | ✅ | ✅ | 嚴格 | 需代理/簽名 |
| 高德 | restapi.amap.com/ip | ✅ | ✅ | 需 Key | 精度高、官方 SDK |
| 瀏覽器 Geolocation API | navigator.geolocation | GPS/WiFi 精度 | ✅ 強制 | 用戶授權 | 非 IP 定位、需 HTTPS、用戶同意 |
| ip-api.com | ip-api.com/json/ | ✅ | ✅ | 45/分鐘 | 免費商用需付費 |
新浪 iplookup.php?format=js 可獲取城市級 IP 歸屬,remote_ip_info.city 即為城市。注意 HTTP 混合內容限制、IP 定位固有不準確性、用戶隱私合規。生產環境建議多層回退策略。