Node.js和PHP根据ip获取地理位置的方法
发布时间:2023-11-14 21:23:13
标签:Nodejs,PHP,获取地理位置
一、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] =>
)
0
投稿
猜你喜欢
- 大家经常在网上登陆的时候经常会看到让你输入验证码,有的是文字的,有的呢是图片,比如chinaren.com校友录中留言的时候,我们就会看到数
- 图片按钮是我们经常应用的网页元素,按钮的生成有两种方法,一个是用链接<a>来模拟按钮,一个是用现成的表单按钮。<input
- 在国外一博客看到的技巧,终于解决IE的这个老大难问题。我在IE的setAttribute bug也提到其解决方法,一是innerHTML,一
- 废话不多说了,直接把我写的timeit函数分享给大家,具体内容如下:/** * Compute the delay to execute a
- 前言无论是自己要在精心P过的自拍上添加个性文字,或者是摄影爱好者要在拍摄的作品里添加水印,亦或是在网页或者移动应用中实时生成文字和图片的组合
- 聚集索引,数据实际上是按顺序存储的,数据页就在索引页上。就好像参考手册将所有主题按顺序编排一样。一旦找到了所要搜索的数据,就完成了这次搜索,
- asp代码 如下:读取注册表信息使用了对象WScript.Shell<%Dim strPath strP
- 本文旨在挖掘表格在艺术创意方面的一些功能效果。运行代码框<script language="JavaScript"
- 如下所示:两个函数:Basemap.drawparallels ##纬度 Basemap.drawmeridia
- 在进行ASP网站开发时,有时需在客户端调用MSSQL数据库的数据进行打印,若调用数据量小,可以通过在客户端运用FileSystemObjec
- 每周的《午间欢乐购》和《周末疯狂购》,已经成为视觉组的固定需求。从开始接触到现在5个月的时间里,思维也和这些小小banner逐渐碰撞出火花。
- 前不久网上公开了一个MySQL Func的漏洞,讲的是使用MySQL创建一个自定义的函数,然后通过这个函数来攻击服务器。最早看到相关的报道是
- 如何在ADO中客户端利用好缓存技术?具体应用见下例:global.asa< !--METADATA TYPE=&q
- 将有安全问题的SQL过程删除.比较全面.一切为了安全!删除了调用shell,注册表,COM组件的破坏权限MS SQL SERVER2000使
- 算法是计算机科学中一个重要的研究方向,是解决复杂问题的关键。在计算机世界中,算法无处不在。数据库是存储数据和执行大批量计算的场所,在数据库中
- 在我们关于SQL服务器安全系列的这文章里,我们的目标是向你提供安全安装SQL服务器所需要的工具和信心,这样的话,你有价值的数据就会受到保护,
- 一:直接把MDB(MDE)文件放到网络中的共享目录中,在客户端做好对应的快捷方式二:数据库折分(菜单:工具,实用工具,折分)成前后台,把后台
- 1. 横排往下会影响阅读速度。如12345678的单排单列数字,肯定是竖排阅读快。但多行多列的整块信息,横排并不见得就比竖排慢,比如所有简体
- 代码如下: Function NumberSplit(num) Dim i,length length=Len(num) For i=1 T
- 代码如下:SELECT * FROM (SELECT TRUNC(SYSDATE, 'mm') + ROWNUM