时间:2021-05-26
一、Node.js实现代码
复制代码 代码如下:
var http = require('http');
var util = require('util');
/**
* 根据 ip 获取获取地址信息
*/
var getIpInfo = function(ip, cb) {
var sina_server = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=';
var url = sina_server + ip;
http.get(url, function(res) {
var code = res.statusCode;
if (code == 200) {
res.on('data', function(data) {
try {
cb(null, JSON.parse(data));
} catch (err) {
cb(err);
}
});
} else {
cb({ code: code });
}
}).on('error', function(e) { cb(e); });
};
getIpInfo('220.181.111.85', function(err, msg) {
console.log('城市: ' + msg.city);
console.log('msg: ' + util.inspect(msg, true, 8));
})
请求结果:
复制代码 代码如下:城市: 徐州
{
"ret": 1,
"start": "49.68.0.0",
"end": "49.68.255.255",
"country": "中国",
"province": "江苏",
"city": "徐州",
"district": "",
"isp": "电信",
"type": "",
"desc": ""
}
二、PHP实现代码
复制代码 代码如下:<?
$ip = "220.181.111.85";
$url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip";
$data = file_get_contents($url);
$result = json_decode($data);
echo "城市:" . $result->city . "<br>";
print_r($result);
?>
请求结果:
复制代码 代码如下:城市:徐州
stdClass Object
(
[ret] => 1
[start] => 49.68.0.0
[end] => 49.68.255.255
[country] => 中国
[province] => 江苏
[city] => 徐州
[district] =>
[isp] => 电信
[type] =>
[desc] =>
)
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
根据现有IP地址获取其地理位置(省份,城市等)的方法functionGetIpLookup($ip=''){if(empty($ip)){return'请输入I
1.HTML5获取当前地理位置HTML5GeolocationAPI(地理位置应用程序接口)可以获取当前地理位置,手机端使用GPS,电脑则根据网络定位检查浏览器
node.js实现抓取代理ip主要文件:index.js/**支持:node.jsv7.9.0*/constcheerio=require('cheerio')
地理位置搜寻LBS,存储每个地点的经纬度坐标,搜寻附近的地点,建立地理位置索引可提高查询效率。mongodb地理位置索引,2d和2dsphere,对应平面和球面
使方法一、用IP138数据库查询域名或IP地址对应的地理位置。#-*-coding:gbk-*-importurllib2importretry:whileTr