手机版

node.js使用免费阿里巴巴云ip查询获取ip位置【推荐】

时间:2021-08-30 来源:互联网 编辑:宝哥软件园 浏览:

在项目过程中,我们经常需要获取IP的位置。这个功能一般通过一些数据网站的外部接口来实现,通常是付费的。在本文中,我将记录基于node.js的阿里巴巴云免费IP地址查询界面的使用

1.购买服务

https://market.aliyun.com/products/57002003/cmapi010805.html?SPM=5176 . 2020520132 . 101 . 9 . r0 owp 9 # SKU=yuncode 480500000

这是阿里巴巴云的一个AIP界面。点击以上链接,您将进入以下页面

点击购买后,您将登录。阿里巴巴云可以用淘宝账号登录,每个人都应该有。而且这个API不需要100万次查询,应该足以支持所有非商业用途。

购买后可以在控制台的云市场找到这个订单,点击右侧界面进入AIP教程界面

进入这里之后,就是刚才的购买页面。通过向下滑动,您可以看到如何使用该应用编程接口

这里有各种语言的官方例子。当然,预计没有Node版本,所以我将在下面介绍Node的使用

2.构建服务器

由于本文的主题是使用这个界面,所以如果关于构建服务器有什么不清楚的地方,请理解。

这里我使用的是express构建的服务器

首先创建一个测试文件夹

文件夹中有两个文件

第一个是test.js(服务器配置文件)

第二个是package.json(用于介绍express模块)

//这里是测试文件test.jsconst http=require ('http ')、express=require ('express ')、app=express();App。使用('/',函数(req,RES){//所有访问localhost的请求都将在此处输入res.send('服务器启动');});http.createServer(app)。听(80,‘0 . 0 . 0 . 0’);//创建服务器实例{'name' :' test ',' version' :' 1.0.0 ',' dependencies ' : { ' express ' : ' latest ' } }//package . JSON首先,右键单击npm install(cnpm就可以了。

我的编译器是webstorm(不同的同学请根据自己的操作)

安装完成后,您可以运行test.js

服务器启动后,让我们打开浏览器进行测试

服务器的构建在这里完成

让我们进入Api的使用

3.三号呼叫。Api接口

点击上一个官方页面中的调试工具,你会看到它

据此,我们进行相关配置

首先,我们需要引入https,因为这个请求是get,但是我们需要使用https(我们之前很久没有找到这个卡的原因)

让选项={ hostname : ' DM-81 . data . aliyun.com ',//接口域名path 3360 `/rest/160601/IP/getipinfo . JSON?Ip=${ip} `,//在上面的路径格式中,附上要查询的Ip地址(我这里是获取的用户ip的IP)头标: {///设置请求头标‘content-type’:’应用/JSON;Charset=utf-8 ',' authorization' :' appcode这里是你阿里云里的appcode ',} };appcode

配置参数完成后,您可以开始编写https请求

https.request的使用方法与http.request一致,请参考官网文档(http://nodejs.cn/API/http.html # http _ http _ request _ options _ callback)让re=https。request (option),(res)={//为了区别于外部RES,这里的响应文件使用RES . setencoding(' uten coding)If(If(RES . statuscode===200){//){//如果http状态码为200,则请求成功res.on ('data ',(data)={ RES . send(data);//将接口返回的数据返回到页面});} });Re。on ('error ',(e)={console。错误(`请求遇到: ${e.message} `)的问题;});re . end();把下面完整的代码贴出来(需要拿走的时候请注明出处,把appcode改成自己的创建。大家订阅手动搞笑不容易)

//下面是测试文件const http=require ('http ')、https=require ('https ')、express=require ('express ')、app=express();App.use ('/'),function (req,RES){//所有访问localhost的请求都将在此处输入。让IP=req . headers[' x-forward-for ']| | req . connection . remote address | | req . socket . remote address | | req . connection . socket . remote address;让选项={ hostname : ' DM-81 . data . aliyun.com ',//接口域名path 3360 `/rest/160601/IP/getipinfo . JSON?Ip=${ip} `,//在上面的路径格式中,附上要查询的Ip地址(我这里是获取的用户ip的IP)头标: {///设置请求头标‘content-type’:’应用/JSON;Charset=utf-8 ',' authorization ' : ' appcode your appcode ',} };让re=https。request (option),(res)={//为了区别于外部RES,这里的响应文件使用RES RES . setencoding(' utf8 ');If(If(RES . statuscode===200){//){//如果http状态码为200,则请求成功res.on ('data ',(data)={ RES . send(data);//将接口返回的数据返回到页面});} });Re。on ('error ',(e)={console。错误(`请求遇到: ${e.message} `)的问题;});re . end();});http.createServer(app)。听(80,‘0 . 0 . 0 . 0’);//创建一个服务器实例,然后我们再次访问服务器页面。结果如下(这里我是本地测试,所以返回值是内网IP)

你可以在这里找到访问用户的IP地址

摘要

如上所述,边肖介绍给大家的node.js,使用免费的阿里巴巴云ip查询获取ip位置,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:node.js使用免费阿里巴巴云ip查询获取ip位置【推荐】是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。