`

根据浏览者的IP切换成不同语言,新浪网易IP地区信息查询API接口调用方法

阅读更多

作需求,要根据浏览者的IP切换成不同语言的页面,记了下面的代码。

主要是获取IP对应的地区,用的是新浪的IP查询接口。

[javascript] view plaincopy
  1. <script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"></script>  
  2. <script type="text/javascript">  
  3. //console.log(remote_ip_info["country"]+’,'+remote_ip_info["province"]+"省"+’,'+remote_ip_info["city"]+"市")//中国,江苏省,南京市  
  4. //alert('\n国家:'+remote_ip_info.country+'\n省份:'+remote_ip_info.province+'\n城市:'+remote_ip_info.city+'\n区:'+remote_ip_info.district+'\nISP:'+remote_ip_info.isp+'\n类型:'+remote_ip_info.type+'\n其他:'+remote_ip_info.desc + '\nIP段: ' + remote_ip_info.start + '-' + remote_ip_info.end);     
  5.   
  6. var indexs = 0;  
  7. if(remote_ip_info["country"] == "美国") {  
  8.     indexs = 1;  
  9. }else if(remote_ip_info["country"] == "俄国"){  
  10.     indexs = 2;  
  11. }  
  12.   
  13.     var sddl = document.getElementById('select');  
  14.     sddl.selectedIndex = indexs;  
  15.     //alert(indexs);  
  16.     changeLan()  
  17. </script>  


以下是查询的资料,上面不太清楚的可以阅读下面的资料。

====================================

 

通过IP地址获取对应的地区信息通常有两种方法:

1)自己写程序,解析IP对应的地区信息,需要数据库。

2)根据第三方提供的API查询获取地区信息。

第一种方法,参见文本《通过纯真IP数据库获取IP地址对应的地区信息》,这种方法的维护代价较高,而且对自己的服务器有一定的压力。

随着技术的开放,第三方已经逐渐免费开放相应的API。经过测试,目前网易和新浪提供的较为稳定易用。

1)新浪API接口

新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=IP地址

举例:

测试用例:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=115.156.238.114

返回以下信息:

[javascript] view plaincopy
  1. var remote_ip_info = {"ret":1,"start":"115.156.128.0","end":"115.156.255.255","country":"\u4e2d\u56fd","province":"\u6e56\u5317","city":"\u6b66\u6c49","district":"","isp":"\u6559\u80b2\u7f51","type":"\u5b66\u6821","desc":"\u534e\u4e2d\u79d1\u6280\u5927\u5b66\u4e1c\u6821\u533a"};     

文字经过utf-8编码,分别对应不同的信息。

可以通过javascript跨域直接调用,如(使用jquery):

[javascript] view plaincopy
  1. $.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip='+ip, function(_result){     
  2. if (remote_ip_info.ret == '1'){     
  3. alert('IP 详细信息:''IP:'+ip+'<BR>国家:'+remote_ip_info.country+'<BR>省份:'+remote_ip_info.province+'<BR>城市:'+remote_ip_info.city+'<BR>区:'+remote_ip_info.district+'<BR>ISP:'+remote_ip_info.isp+'<BR>类型:'+remote_ip_info.type+'<BR>其他:'+remote_ip_info.desc);     
  4. else {     
  5. alert('错误''没有找到匹配的 IP 地址信息!');     
  6. }     

2)网易有道API接口

查询IP地址:http://www.youdao.com/smartresult-xml/search.s?type=ip&q=IP地址

举例:http://www.youdao.com/smartresult-xml/search.s?type=ip&q=115.156.238.114

返回xml文本信息:

[html] view plaincopy
  1. <?xml version="1.0" encoding="gbk"?>    
  2. <smartresult>    
  3. <product type="ip">    
  4. <ip>115.156.238.114</ip>    
  5. <location>湖北省武汉市 教育网</location>    
  6. </product>    
  7. </smartresult>     

网上有不少方法, 腾讯的当掉了, 搜狐的又不够准确, 纠结了会觉得还是新浪的靠谱点.

对于小流量的查询直接使用JS输出就OK了.

[javascript] view plaincopy
  1. <script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"></script>  
  2. <script type="text/javascript">  
  3. //format参数设置返回格式 js/json  
  4. //ip 要查询IP 可选  
  5. //反回格式如下:  
  6. //var remote_ip_info = {"ret":1,"start":"117.89.35.0","end":"117.89.35.255","country":"\u4e2d\u56fd","province":"\u6c5f\u82cf","city":"\u5357\u4eac","district":"\u767d\u4e0b","isp":"\u7535\u4fe1","type":"","desc":""};  
  7. console.log(remote_ip_info["country"]+’,'+remote_ip_info["province"]+"省"+’,'+remote_ip_info["city"]+"市")//中国,江苏省,南京市  
  8. </script>  
分享到:
评论

相关推荐

    完整的新浪API接口调用API工程文件

    本文将详细介绍如何使用这个“完整的新浪API接口调用API工程文件”来实现各种功能,并探讨其中涉及的技术点。 首先,我们要了解新浪API的核心概念:**应用认证**。在使用新浪API之前,你需要先注册一个开发者账号,...

    新浪、网易、腾讯实时tick接口_python股票_股票接口_新浪股票_tick股票_股票接口_源码.zip

    对于网易和腾讯的接口,也需要类似的方式进行处理,只是API URL和数据结构可能会有所不同,需要查阅其官方文档获取详细信息。 在实际应用中,我们可能需要对获取的tick数据进行处理,比如存储到数据库、进行实时...

    新浪、网易、腾讯实时tick接口_python股票_股票接口_新浪股票_tick股票_股票接口

    在Python编程环境下,新浪、网易和腾讯等网站提供了API接口,使得开发者能够便捷地获取到股票的Tick数据。Tick数据是指股票市场中每一笔交易的最详细数据,包括价格、成交量、时间戳等信息,对于短线交易者和高频...

    java调用新浪微博API接口源码

    2. **API调用**:Weibo4J库提供了丰富的API接口,如`StatusesAPI`用于处理微博发布、查询等,`UsersAPI`用于获取用户信息,`CommentsAPI`用于处理评论操作。通过这些API,开发者可以实现如下的功能: - **消息推送*...

    webapi调用的方法

    4. **调用API**:使用库提供的函数或方法,结合Access Token来调用你需要的新浪API接口,如发布微博、获取用户信息等。 5. **处理响应**:API调用完成后,你会接收到服务器的响应。根据响应数据格式(通常是JSON)...

    PB调用http api接口 PB解析json

    PB调用HTTP API接口是PowerBuilder(PB)应用程序与远程服务交互的一种常见方式,这使得PB应用能够利用Web服务或RESTful API获取和传递数据。在这个过程中,PB不仅需要发送HTTP请求,还需要处理响应,尤其是当响应...

    Java调用新浪api通过Ip查询地区

    【Java调用新浪API通过IP查询地区】 在Java开发中,有时我们需要获取用户或服务器的地理位置信息,这可以通过调用第三方API实现。新浪提供了一个IP查询接口,允许开发者通过IP地址来获取对应的地区信息。本篇文章将...

    海康威视设备API接口

    - **功能调用**: 根据实际需求选择合适的API接口进行调用。 - **错误处理**: 对接收到的错误码进行解析处理。 #### 四、注意事项 - **许可协议**: 在使用海康威视设备API接口时,需严格遵守相关许可协议。 - **...

    迅雷API接口_通过脚本调用迅雷自动下载资源.txt

    ### 迅雷API接口_通过脚本调用迅雷自动下载资源 #### 知识点概览 1. **迅雷API接口简介** 2. **脚本调用迅雷自动下载资源的方法** 3. **参数详解及示例** 4. **应用场景与限制** #### 知识点详细说明 **一、迅雷...

    ip定位查询接口

    标题中的“ip定位查询接口”指的是网络开发中用于获取设备或用户IP地址地理位置信息的一种服务。这个服务通常通过API(应用程序编程接口)提供,允许开发者在自己的应用中集成,以便实现如用户位置追踪、本地化服务...

    .net 调用API接口全(get,post)

    包含了get和post各种参数形式及方法, public static U Post, T&gt;(string url, T model, NameValueCollection headers = null) { return HttpClientHelper.Post, T&gt;(url, model, headers); } public static U ...

    java调用网易云音乐接口

    在Java编程中,调用网易云音乐接口是一个常见的任务,特别是在构建音乐播放应用或者数据分析项目时。本篇文章将深入探讨如何使用Java与网易云音乐API进行交互,以及如何解析返回的数据。 首先,我们需要理解网易云...

    webapi 项目代码及winform下调用接口

    在本项目中,"webapi 项目代码及winform下调用接口" 提供了一个完整的示例,展示如何在WinForm应用程序中调用WebAPI接口进行数据交互。 1. **WebAPI基础** - **RESTful原则**:WebAPI遵循REST(Representational ...

    调用淘宝API接口,获取商品类目

    在IT行业中,API(应用程序编程接口)是软件系统之间交互的一种方式,允许开发者通过特定的接口来使用服务或功能。淘宝API是淘宝网为开发者提供的接口集合,它允许开发人员能够访问淘宝的商品、用户、交易等数据,...

    PHP调用QQWry.Dat 实现IP归属地查询

    在IT行业中,IP归属地查询是一项常见的需求,用于获取给定IP地址所在的国家、地区或城市等信息。本文将详细讲解如何使用PHP语言调用QQWry.Dat这个数据库文件来实现这一功能。QQWry.Dat是由网络服务商提供的一种IP...

    API HOOK易语言IP端口拦截转向源码

    API Hook是一种技术,它允许程序员拦截系统调用或者应用程序接口(API)的调用,以便在调用实际功能之前或之后执行自定义代码。在易语言中,API Hook的实现通常涉及创建一个动态链接库(DLL),并在目标进程中注入这...

    C# WEBAPI 及winform调用

    webapi 项目平台,包含接口生成,及接口调用方法,项目代码清晰明了,非常值得初学者参考借鉴,更具体的开发步骤可以登入我的博客查看:http://www.cnblogs.com/gudaozi/p/8384734.html

    金税接口调用实例

    在实际应用中,我们需要根据业务需求,调用对应的金税接口方法,并处理返回的结果。例如,开具发票可能涉及以下步骤: 1. 实例化`TaxCardXClass`对象。 2. 调用`Initialize`方法,设置接口参数,如税务登记号、证书...

    奇安信威胁情报平台-API使用说明.pdf

    通常这类查询可以提供有关IP地址所属国家、地区、网络服务提供商等信息,以及该IP地址是否关联到已知的恶意活动。 ### Whois查询 Whois查询用于获取域名注册信息。这类信息通常包括域名的注册人、联系方式、注册...

    网易云音乐可用的API

    在开发过程中,`TestDemo`这样的文件名通常代表一个测试演示项目,它可能包含了使用网易云音乐API的实际代码示例,帮助开发者了解如何调用API并进行功能测试。这个测试项目可能包括了登录验证、歌曲搜索、播放列表...

Global site tag (gtag.js) - Google Analytics