调用百度的IP定位API(首先需要去百度开放平台注册申请key值http://lbsyun.baidu.com/apiconsole/key)

  1. http://api.map.baidu.com/location/ip?ip=xx.xx.xx.xx&ak=您的AK&coor=bd09ll

  2. https://api.map.baidu.com/location/ip?ip=xx.xx.xx.xx&ak=您的AK&coor=bd09ll

参数

返回结果示例:

  1. {
  2. address: "CN|北京|北京|None|CHINANET|1|None", #详细地址信息
  3. content: #结构信息
  4. {
  5. address: "北京市", #简要地址信息
  6. address_detail: #结构化地址信息
  7. {
  8. city: "北京市", #城市
  9. city_code: 131, #百度城市代码
  10. district: "", #区县
  11. province: "北京市", #省份
  12. street: "", #街道
  13. street_number: "" #门牌号
  14. },
  15. point: #当前城市中心点
  16. {
  17. x: "116.39564504", #当前城市中心点经度
  18. y: "39.92998578" #当前城市中心点纬度
  19. }
  20. },
  21. status: 0 #结果状态返回码
  22. }

淘宝API

  1. http://ip.taobao.com/service/getIpInfo.php?ip=

返回结果示例:

  1. {"ip": "112.5.212.90",
  2. "country": "中国",
  3. "area": "",
  4. "region": "福建",
  5. "city": "福州",
  6. "county": "XX",
  7. "isp": "移动",
  8. "country_id": "CN",
  9. "area_id": "",
  10. "region_id": "350000",
  11. "city_id": "350100",
  12. "county_id": "xx",
  13. "isp_id": "100025"
  14. }
  15. }
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import json
  4. import requests
  5. from bs4 import BeautifulSoup
  6.  
  7. class Fill_Own_Ip(object):
  8.  
  9. def __init__(self):
  10. self.getIpInfoUrl_TaoBao = 'http://ip.taobao.com/service/getIpInfo.php?ip='
  11. self.getIpInfoUrl_138 = 'http://ip138.com/ips138.asp'
  12.  
  13. def sele_ip_taobao(self, ip):
  14. url = self.getIpInfoUrl_TaoBao + str(ip)
  15. try:
  16. json_ret = requests.get(url, timeout=5).text
  17. if json_ret:
  18. ret = json.loads(json_ret)
  19. ip_loc = ret['data']['country'] + ret['data']['region'] + ret['data']['city'] + ret['data']['isp']
  20. else:
  21. ip_loc = ''
  22. except Exception as e:
  23. ip_loc = ''
  24. return ip_loc
  25.  
  26. def sele_ip_138(self,ip):
  27. kw2 = {'ip': ip}
  28. try:
  29. r = requests.request('GET', self.getIpInfoUrl_138, params=kw2)
  30. r.encoding = 'gbk'
  31. demo = r.text
  32. soup = BeautifulSoup(demo, "html.parser")
  33. soup = soup.ul
  34. ip_loc = soup.contents[2].string[6:].split(' ')[0] + soup.contents[0].string[5:]
  35. except:
  36. ip_loc = ''
  37. return ip_loc
  38.  
  39. if __name__ == '__main__':
  40.  
  41. obj = Fill_Own_Ip()
  42. ret_taobao = obj.sele_ip_taobao('112.5.212.90')
  43. ret_138 = obj.sele_ip_138('112.5.212.90')
  44. print 'ret_taobao',ret_taobao
  45. print 'ret_138',ret_138

Python代码

国外的一个查询API

  1. http://ip-api.com/json/  # 国际化英文显示
  2.  
  3. http://ip-api.com/json/?lang=zh-CN  # 中文显示
  4.  
  5. http://ip-api.com/json/115.191.200.34?lang=zh-CN  # 查询某个ip的信息

返回结果示例:

  1. {
  2. "accuracy": 50,
  3. "as": "AS9808 Guangdong Mobile Communication Co.Ltd.",
  4. "city": "Xiamen",
  5. "country": "China",
  6. "countryCode": "CN",
  7. "isp": "China Mobile Guangdong",
  8. "lat": 24.478,
  9. "lon": 118.019,
  10. "mobile": true,
  11. "org": "China Mobile Guangdong",
  12. "proxy": false,
  13. "query": "xxx.xxx.xxx.xxx",
  14. "region": "FJ",
  15. "regionName": "Fujian",
  16. "status": "success",
  17. "timezone": "Asia/Shanghai", "zip": ""
  18. }

126 IP API

  1. http://ip.ws.126.net/ipquery?ip=

返回结果示例:

  1. var lo="北京市", lc="朝阳区"; var localAddress={city:"朝阳区", province:"北京市"};

快速获取IP地址的各种方法的更多相关文章

  1. 快速获取 IP 地址

    IP 地址可以分为两类,公用和私有(专用).公用 IP 是唯一的 IP 地址,可以从 Internet 访问.专用 IP 地址保留供您专用网络内部使用,而不会直接暴露给 Internet. 本文将介绍 ...

  2. windows下获取IP地址的两种方法

    windows下获取IP地址的两种方法: 一种可以获取IPv4和IPv6,但是需要WSAStartup: 一种只能取到IPv4,但是不需要WSAStartup: 如下: 方法一:(可以获取IPv4和I ...

  3. js获取IP地址方法总结_转

    js代码获取IP地址的方法,如何在js中取得客户端的IP地址.原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338.html 1,js取得IP地址 ...

  4. Java获取ip地址的几种方法

    以下内容介绍下java获取ip地址的几种思路. 1.直接利用java.net.InetAddress类获取,不过这种方法只在windows环境下有效,在linux环境下只能获取localhost地址( ...

  5. asp.net获取ip地址的方法

    在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的I ...

  6. js获取IP地址的方法小结

    s代码获取IP地址的三种方法,在js中取得客户端的IP地址. 原文地址:http://www.jbxue.com/article/11338.html 1,js取得IP地址的方法一 <scrip ...

  7. 1. 通过DHCP服务器动态获取IP地址之后无法上网的解决方法

    故障:内网正常,在同一个局域网内的其它PC端通过DHCP获取IP地址并且可以正常上网. 1.通过wireshark抓包,使用ipconfig /renew时,wireshark内出现DHCP请求服务, ...

  8. php 获取ip地址的5种方法,插入用户登录日志实例

    php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法 <?php //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ ...

  9. js获取IP地址多种方法实例教程

    js获取IP地址方法总结   js代码获取IP地址的方法,如何在js中取得客户端的IP地址.原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338. ...

随机推荐

  1. Python中的变量作用域

    python中变量作用域包括: L (Local) 局部作用域,函数内部声明但没有使用global的变量E (Enclosing) 闭包函数外的函数中,def或者lambda的本地作用域G (Glob ...

  2. 嵌入页面的几种方法(转载自萤火虫小Q)

    一.应用框架技术 ---- 要在宿主页面中嵌入外部页面的方法是,在宿主页面中包含外部页面的位置插入“< IFRAME name="XXX" width=X height=X ...

  3. JS之clientX,clientY,screenX,screenY,offsetX,offsetY区别

    首先需要知道clientX,clientY,screenX,screenY,offsetX,offsetY 是鼠标事件对象下的几个属性. 之前也一直对这些属性搞的稀里糊涂,看文档上说的也是不太理解,反 ...

  4. 建荣AX3298作为航拍启动流程

    启动函数: SDK-3298\demo\helloftv\main.c 板级配置文件:SDK-3298\board\AX3292\mvl8801\board_config.h 1,定义了 debug串 ...

  5. jmeter简单的接口性能测试

    原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 ...

  6. Go 字符串连接+=与strings.Join性能对比

    Go字符串连接 对于字符串的连接大致有两种方式: 1.通过+号连接 func StrPlus1(a []string) string { var s, sep string for i := 0; i ...

  7. windows7 64位系统安装CPU版本TensorFlow(anaconda3.6)

    1>下载anaconda3.6,https://www.anaconda.com/download/,选择64位的anaconda3.6,安装时候,路径可以自定义,但是要选择把路径添加到环境变量 ...

  8. 常规DP专题练习

    POJ2279 Mr. Young's Picture Permutations 题意 Language:Default Mr. Young's Picture Permutations Time L ...

  9. click python cli 开发包

    python click 包是一个方便的cli 开发包,我们可以用来开发强大的cli 应用 使用venv 进行环境准备,示例代码来自官方 venv 环境准备 python3 -m venv demoa ...

  10. Breakout 打砖块

    发售年份 1976 发售平台 多平台 开发商 雅达利(Atari) 类型 动作 https://www.youtube.com/watch?v=AMUv8KvVt08