javascript获取客户端的IP地址

在开发地图类商业站点的时候,常常需要根据客户端的所在地区来进行产品展示,所以就用到了以下的通过javascript获取本地ip地址的方法。

搜狐pv接口(GET请求)

向搜狐pv的接口发送一个get请求,默认返回访问者的ip地址省市

api地址:http://pv.sohu.com/cityjson
发送数据(可选):ie=utf-8
返回结果:见下方代码注释
const res_ip = get('http://pv.sohu.com/cityjson');
// 返回数据结果(示例)如下:
/*{
  "cip": "123.123.123.123",
  "cid": "000000",
  "cname": "XX省XX市"
}*/

站长工具(GET请求)

向站长工具发送一个空的get请求,即可获取本地IP地址以及省市线路

api地址:http://pv.sohu.com/cityjson
发送数据(空):
返回结果:见下方代码注释
const res_ip = get('http://pv.sohu.com/cityjson');
// 返回数据结果(示例)如下:
/*{
	ip:'123.123.123.123',
	address:'广东省xx市 电信'
}*/

新浪接口(GET请求)

向新浪dpool接口发送一个GET请求,可获取当前国省市区

api地址:http://int.dpool.sina.com.cn/iplookup/iplookup.php
发送数据:format=json
返回结果:见下方代码注释
const req_ip = get('http://int.dpool.sina.com.cn/iplookup/iplookup.php',{format: "json"});
// 返回结果如下:
/*{
	"ret":1,
	"start":-1,
	"end":-1,
	"country":"\u4e2d\u56fd",
	"province":"\u5e7f\u4e1c",
	"city":"\u6df1\u5733",
	"district":"",
	"isp":"",
	"type":"",
	"desc":""
}*/

该接口返回的国家、省份、城市字段需要转码,采用decodeURIComponent()即可获取。

W3dev接口(get)

向W3DEV发送GET请求,可获取当前IP地址

api地址:http://www.w3dev.cn/getip.ashx
发送参数(可选): json=1或js=1
返回结果:见下方代码注释
const req_ip = get('http://www.w3dev.cn/getip.ashx?json=1');
// 返回结果如下:
//     |183.14.29.234

注意: 返回结果中开头包含了一个混淆字符,用正则可以去掉。

NOOLDEY

本文作者:NOOLDEY

做一个诗情画意的码农,皮皮猪,我们走!

原文链接: http://zhuweisheng.com.cn/html/get-ip/

本站文章如无特殊声明均为原创,创作不易,转载请注明来源,谢谢!