-
2018-08-31 10:54:15
根据ip获取城市地点等网上有很多中方法,总结起来就两种,一是在线请求,二是离线本地集成,各有各的好,在这里记录一下第一种情况的其中一种(百度:http://apis.baidu.com/apistore/iplookupservice/iplookup);
apikey:127329af2783917a946abd0f8479f571(这样算不算重点符号,语文有可能是英语老师教的哈)
/** * 百度开放接口通过IP地址获取地理位置 * * @return 返回结果 String[] */ public static String getAddressByIp(String ip) { if (ip == null || ip.equals("")) { return null; } BufferedReader reader = null; String result = null; StringBuffer sbf = new StringBuffer(); String thisUrl = httpUrl + "?ip=" + ip; try { URL url = new URL(thisUrl); HttpURLConnection connection = (HttpURLConnection) url .openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("apikey", "127329af2783917a946abd0f8479f571"); connection.connect(); InputStream is = connection.getInputStream(); reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); String strRead = null; while ((strRead = reader.readLine()) != null) { sbf.append(strRead); sbf.append("\r\n"); } reader.close(); result = sbf.toString(); return=result ; } catch (Exception e) { SystemOut.println("获取IP地址失败"); } return null; }
***:开始了吗? wo:已经结束了、、、、、、、、此处省去n多种想法。
更多相关内容 -
利用和风平台api接口获取城市天气信息
2021-04-25 16:23:103 获取城市id # 获取地点id def get_location(city_name): location_url = 'https://geoapi.qweather.com/v2/city/lookup?' # city_name = '北京' key = "你的key" url = location_url + "location=1 注册和风平台账号,创建 应用,获取key
2 阅读和风开发接口文档
阅读开发文档可知,查询某地天气 需要知道某地的id
3 获取城市id
# 获取地点id def get_location(city_name): location_url = 'https://geoapi.qweather.com/v2/city/lookup?' # city_name = '北京' key = "你的key" url = location_url + "location=" + city_name + '&key=' + key # print(url) response = requests.get(url).json() # .json()进行格式转换 return response['location'][0]['id'] # 设置地点id def set_city_id(request): for i in City.objects.all(): id = get_location(i.city_name) i.city_id = id i.save() return HttpResponse("地点id设置成功")
4 利用地点id 获取天气数据
# 获取天气 def get_temperature(city_id): location_url = "https://devapi.qweather.com/v7/weather/3d?" key = "9ddd61bd36c14c069b7b83866c283413" # city_id = "101010100" url = location_url + "location=" + city_id + '&key=' + key response = requests.get(url).json() # print(response["daily"][0]["tempMax"]) # print(response["daily"][0]["tempMin"]) return response["daily"][0]
-
省份城市区域列表
2021-03-31 08:27:03接口地址:http://zhouxunwang.cn/data/?id=104返回格式:json请求方式:get请求说明:http://zhouxunwang.cn/data/?id=104&key=我的州讯KEY&ske=1请求示例:http://zhouxunwang.cn/data/?id=104&key=Ub...接口地址:http://zhouxunwang.cn/data/?id=104
返回格式:json
请求方式:get
请求说明:http://zhouxunwang.cn/data/?id=104&key=我的州讯KEY&ske=1
请求示例:http://zhouxunwang.cn/data/?id=104&key=Ub2TIRgGYSDSD&ske=1
接口备注:通过邮编查询对应的地名
请求参数说明:名称必填类型说明
ske是stringske 必须等于1
key是string登录后台->API接口 ->我的KEY
返回参数说明:名称类型说明
error_codeint返回码
resonstring返回说明
json返回示例:{
"reason":"successed",
"result":[
{
"id":"1", /*省份ID*/
"province":"上海市", /*省份名称*/
"city":[
{
"id":"32", /*城市ID*/
"city":"上海市", /*城市名称*/
"district":[
{
"id":"798", /*区域ID*/
"district":"南汇区" /*区域名称*/
},
{
"id":"799",
"district":"卢湾区"
},
{
"id":"800",
"district":"嘉定区"
},
{
"id":"801",
"district":"奉贤区"
},
{
"id":"802",
"district":"宝山区"
},
{
"id":"803",
"district":"崇明县"
},
{
"id":"804",
"district":"徐汇区"
},
{
"id":"805",
"district":"普陀区"
},
{
"id":"806",
"district":"杨浦区"
},
{
"id":"807",
"district":"松江区"
},
{
"id":"808",
"district":"浦东新区"
},
{
"id":"809",
"district":"虹口区"
},
{
"id":"810",
"district":"金山区"
},
{
"id":"811",
"district":"长宁区"
},
{
"id":"812",
"district":"闵行区"
},
{
"id":"813",
"district":"闸北区"
},
{
"id":"814",
"district":"青浦区"
},
{
"id":"815",
"district":"静安区"
},
{
"id":"816",
"district":"黄浦区"
}
]
}
]
}
]
}
-
ip获取所在城市名称接口-JAVA
2017-12-11 13:55:54通过淘宝IP地址库获取IP位置 1. 请求接口(GET):http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串] 2. 响应信息:(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商 3. 返回数据格式...互联网有很多接口可以实现通过ip查询到具体的位置,如下:
通过淘宝IP地址库获取IP位置
1. 请求接口(GET):http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]2. 响应信息:(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商3. 返回数据格式:{"code":0,"data":{"ip":"210.75.225.254","country":"\u4e2d\u56fd","area":"\u534e\u5317","region":"\u5317\u4eac\u5e02","city":"\u5317\u4eac\u5e02","county":"","isp":"\u7535\u4fe1","country_id":"86","area_id":"100000","region_id":"110000","city_id":"110000","county_id":"-1","isp_id":"100017"}}其中code的值的含义为,0:成功,1:失败。
新浪的接口 :http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=218.192.3.42返回值var remote_ip_info = {"ret":1,"start":"218.192.0.0","end":"218.192.7.255","country":"\u4e2d\u56fd","province":"\u5e7f\u4e1c","city":"\u5e7f\u5dde","district":"","isp":"\u6559\u80b2\u7f51","type":"\u5b66\u6821","desc":"\u5e7f\u5dde\u5927\u5b66\u7eba\u7ec7\u670d\u88c5\u5b66\u9662"};通过jqry 获取相应的数据$.getScript('数据接口',function(){//新浪:remote_ip_info.country})
腾讯IP分享计划的地址获取IP所在地:
用java调用淘宝ip查询接口查询地域的一个java实例:
- import java.io.BufferedReader;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.UnsupportedEncodingException;
- import java.net.HttpURLConnection;
- import java.net.URL;
- /**
- * 根据IP地址获取详细的地域信息
- * @project:personGocheck
- * @class:AddressUtils.java
- * @author:heguanhua E-mail:37809893@qq.com
- * @date:Nov 14, 2012 6:38:25 PM
- */
- public class AddressUtils {
- /**
- *
- * @param content
- * 请求的参数 格式为:name=xxx&pwd=xxx
- * @param encoding
- * 服务器端请求编码。如GBK,UTF-8等
- * @return
- * @throws UnsupportedEncodingException
- */
- public String getAddresses(String content, String encodingString)
- throws UnsupportedEncodingException {
- // 这里调用pconline的接口
- String urlStr = "http://ip.taobao.com/service/getIpInfo.php";
- // 从http://whois.pconline.com.cn取得IP所在的省市区信息
- String returnStr = this.getResult(urlStr, content, encodingString);
- if (returnStr != null) {
- // 处理返回的省市区信息
- System.out.println(returnStr);
- String[] temp = returnStr.split(",");
- if(temp.length<3){
- return "0";//无效IP,局域网测试
- }
- String region = (temp[5].split(":"))[1].replaceAll("\"", "");
- region = decodeUnicode(region);// 省份
- String country = "";
- String area = "";
- // String region = "";
- String city = "";
- String county = "";
- String isp = "";
- for (int i = 0; i < temp.length; i++) {
- switch (i) {
- case 1:
- country = (temp[i].split(":"))[2].replaceAll("\"", "");
- country = decodeUnicode(country);// 国家
- break;
- case 3:
- area = (temp[i].split(":"))[1].replaceAll("\"", "");
- area = decodeUnicode(area);// 地区
- break;
- case 5:
- region = (temp[i].split(":"))[1].replaceAll("\"", "");
- region = decodeUnicode(region);// 省份
- break;
- case 7:
- city = (temp[i].split(":"))[1].replaceAll("\"", "");
- city = decodeUnicode(city);// 市区
- break;
- case 9:
- county = (temp[i].split(":"))[1].replaceAll("\"", "");
- county = decodeUnicode(county);// 地区
- break;
- case 11:
- isp = (temp[i].split(":"))[1].replaceAll("\"", "");
- isp = decodeUnicode(isp); // ISP公司
- break;
- }
- }
- System.out.println(country+"="+area+"="+region+"="+city+"="+county+"="+isp);
- return region;
- }
- return null;
- }
- /**
- * @param urlStr
- * 请求的地址
- * @param content
- * 请求的参数 格式为:name=xxx&pwd=xxx
- * @param encoding
- * 服务器端请求编码。如GBK,UTF-8等
- * @return
- */
- private String getResult(String urlStr, String content, String encoding) {
- URL url = null;
- HttpURLConnection connection = null;
- try {
- url = new URL(urlStr);
- connection = (HttpURLConnection) url.openConnection();// 新建连接实例
- connection.setConnectTimeout(2000);// 设置连接超时时间,单位毫秒
- connection.setReadTimeout(2000);// 设置读取数据超时时间,单位毫秒
- connection.setDoOutput(true);// 是否打开输出流 true|false
- connection.setDoInput(true);// 是否打开输入流true|false
- connection.setRequestMethod("POST");// 提交方法POST|GET
- connection.setUseCaches(false);// 是否缓存true|false
- connection.connect();// 打开连接端口
- DataOutputStream out = new DataOutputStream(connection
- .getOutputStream());// 打开输出流往对端服务器写数据
- out.writeBytes(content);// 写数据,也就是提交你的表单 name=xxx&pwd=xxx
- out.flush();// 刷新
- out.close();// 关闭输出流
- BufferedReader reader = new BufferedReader(new InputStreamReader(
- connection.getInputStream(), encoding));// 往对端写完数据对端服务器返回数据
- // ,以BufferedReader流来读取
- StringBuffer buffer = new StringBuffer();
- String line = "";
- while ((line = reader.readLine()) != null) {
- buffer.append(line);
- }
- reader.close();
- return buffer.toString();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- if (connection != null) {
- connection.disconnect();// 关闭连接
- }
- }
- return null;
- }
- /**
- * unicode 转换成 中文
- *
- * @author fanhui 2007-3-15
- * @param theString
- * @return
- */
- public static String decodeUnicode(String theString) {
- char aChar;
- int len = theString.length();
- StringBuffer outBuffer = new StringBuffer(len);
- for (int x = 0; x < len;) {
- aChar = theString.charAt(x++);
- if (aChar == '\\') {
- aChar = theString.charAt(x++);
- if (aChar == 'u') {
- int value = 0;
- for (int i = 0; i < 4; i++) {
- aChar = theString.charAt(x++);
- switch (aChar) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- value = (value << 4) + aChar - '0';
- break;
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- value = (value << 4) + 10 + aChar - 'a';
- break;
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- value = (value << 4) + 10 + aChar - 'A';
- break;
- default:
- throw new IllegalArgumentException(
- "Malformed encoding.");
- }
- }
- outBuffer.append((char) value);
- } else {
- if (aChar == 't') {
- aChar = '\t';
- } else if (aChar == 'r') {
- aChar = '\r';
- } else if (aChar == 'n') {
- aChar = '\n';
- } else if (aChar == 'f') {
- aChar = '\f';
- }
- outBuffer.append(aChar);
- }
- } else {
- outBuffer.append(aChar);
- }
- }
- return outBuffer.toString();
- }
- // 测试
- public static void main(String[] args) {
- AddressUtils addressUtils = new AddressUtils();
- // 测试ip 219.136.134.157 中国=华南=广东省=广州市=越秀区=电信
- String ip = "125.70.11.136";
- String address = "";
- try {
- address = addressUtils.getAddresses("ip="+ip, "utf-8");
- } catch (UnsupportedEncodingException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- System.out.println(address);
- // 输出结果为:广东省,广州市,越秀区
- }
- }
-
Java 根据ip地址获取当前城市
2021-02-26 18:02:18maxmind免费数据库maven位置:用来获取所要用的数据库文件(GeoLite2-City.mmdb)org.elasticsearchgeolite2-databases201510292. 示例importjava.io.File;importjava.net.InetAddress;importcom.maxmind.geoip2.... -
最新!中国天气网api接口调用,key获取方式,数据请求秘钥获取,城市id获取方法
2019-03-19 23:02:00以前的天气获取方式已经不支持了,虽然能获取到数据,但是获取到的信息已经不对了。 中国天气网提供的最新接口需要数据请求秘钥key。而且有效期只有7天,用完了还要重新购买,很麻烦,但是获取到的内容绝对是最全,... -
Ajax 通过城市名获取数据(全国天气预报API)
2020-12-02 09:58:56预览图(比较简单粗糙) 聚合数据全国天气预报接口:https://www.juhe.cn/docs/api/id/39 接口地址:http://v.juhe.cn/weather/index ...cityname string Y 城市名或城市ID,如:”苏州”,需要utf8 urlencode -
8、全国世界城市列表API接口,免费好用
2022-02-08 16:33:44全国/世界城市列表接口,这个是RollToolsApi通用系列接口的其中一个,内部包含了3个小接口,能实现获取全国城市列表,搜索全国城市列表和获取世界级国家城市列表。这个接口的主要特点是,数据比较新。 查看接口完整... -
Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)
2020-07-01 22:47:09Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据) 实现原理 1、首先根据联网 IP 获得当前所在城市 ...3、根据城市ID,最后得到天气数据,解析封装给接口调用; -
java获取中国城市代码 中国城市ID(天气预报可用哦)
2014-10-29 21:31:26Weather.com.cn提供JSON格式的数据(http://m.weather.com.cn/data/101070201.html),不过需要我们知道城市ID,如何获取城市ID呢? Weather.com.cn也提供了相应接口。 1. 访问... -
获取高德地图接口中的所有地区
2019-03-28 13:49:12看到网上有卖全国省市区的信息,一份需要50RMB+,看到了高德有获取一些地区信息的接口,所以设计一个程序来抓取然后保存到MySQL中; 附上高德地图开发文档:https://lbs.amap.com/api/webservice/guide/api/district... -
调用百度地图接口获取城市住宅小区边界信息 (米制转经纬度)
2019-07-23 10:57:49要想展示边界轮廓,那么势必要获取小区的边界坐标。查遍百度地图api,只有获取行政区域轮廓图的方法。所以我采用抓包的方法,看了一下百度地图是怎么操作的。总结出了以下几个步骤。 二、实现方法: 1、获取... -
调用百度地图接口获取城市住宅小区边界信息
2017-02-20 23:22:02一、 背景描述在百度地图上查询一个...二、 获取住宅小区边界1.1 获取住宅小区的POI ID。通过百度提供的JS接口LocalSearch的Search方法搜索小区名称,返回LocalResult中包含POI的uid.1.2 调用百度的Web方法查询小区的边 -
微信小程序调用腾讯位置服务获取城市列表
2020-08-21 11:05:32微信小程序调用腾讯位置服务获取城市列表 注意前期的准备: 1.需要用到微信小程序JavaScript SDK https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/methodGetcitylist 2.需要申请key ...3.需要下载 ... -
高德地图JS API获取经纬度,根据经纬度获取城市
2019-10-08 21:03:06<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">...输入提示后查询,点击获取坐标</title> <sty... -
根据城市名称检索城市ID,以及省市县(LitePal+RxJava+Retrofit)
2018-08-12 23:04:09今天我们要做的是这样一个效果,大家都知道天气预报软件中,必须要一个城市的名称,然后用户根据自己输入的城市,然后弹出检索出来的内容,这样就可以确定是哪个城市。废话不多说,先看下实现的效果,在决定是不是你... -
APP获取气象局所有城市气象预警信息接口
2019-03-28 16:26:001. 当前城市ID 2. 预警类型, 如:寒潮 3. 预警级别, 如:蓝色 4. 详细预警内容, 如 " 海淀区气象台27日18时05分发布大风蓝色预警,预计当前至夜间,海淀区有4级左右偏南风,阵风可达6、7级,请注意防范。(预警信息... -
分享几个IP获取地理位置的API接口
2020-08-01 14:37:16文章目录360获取本机IP、地区及运营商360获取指定IP的地区及运营商ip508获取指定IP、地区及所处位置淘宝获取本机IP地址淘宝获取IP详细信息 全网首发,最全的IP接口,不服来辩!博主找了几个小时的资料,又手动抓取到... -
城市天气数据获取接口
2017-05-26 12:25:10由于项目需求,需要提取特定城市的天气状态,顺便把目前网上易查到的资料整理下,也方便他人查阅 免费_当日或未来几日 k780:http://www.k780.com/api/weather.history 接口地址:... -
记录一些最新可用免费的直接获取IP的接口
2018-11-20 20:42:55记录一些免费的直接获取IP的接口 http://ip-api.com/json/?fields=520191&lang=zh-CN 获取的数据默认语言可以随便设置,较精确,但是没有城市行政代码 http://pv.sohu.com/cityjson?ie=utf-8 搜狐这个... -
Unity获取当前城市天气
2017-07-10 17:53:08完善了根据当前IP查询所在城市编码,然后根据城市编码获取当前城市天气,DEMO下载地址:http://download.csdn.net/detail/bebeisk/9894250 参考http://blog.csdn.net/wjb0108/article/details/41380193 using ... -
1超齐全的方法layui的省市区。只知道name回填。只知道id回填.zip
2019-08-23 11:46:31后端接口只给了省市区的name值,怎么回填?只给id怎么回填。怎么获取选中的省市区的name 和id -
调用阿里API获取城市天气信息
2022-04-12 08:46:54阿里云天气预报API接口介绍2.1阿里云天气预报API介绍2.2 调用API准备工作及认识二.调用天气预报API三.代码实现四.结果展示五、问题与解决办法 赵继涛,男,西安工程大学电子信息学院,2021级硕士研究生 研究方向... -
高德地图获取城市所有小区的POI
2021-02-24 16:19:34我们使用高德开放平台...3.用2中获取的网格调用接口,获取小区数据,把所有网格的数据汇总到一起就可以了。 稍稍有点难度的,可能就是网格拆分的递归,但只要想明白了,就也很简单。 接下来,看实践。 一 -
js获取用户当前所在城市(ip)
2019-03-22 17:13:32被安利到一个是搜狐家查询ip地址的接口:http://pv.sohu.com/cityjson?ie=utf-8 直接打开效果如下: 依照惯例,例子用法给大家放上来: <script src="http://pv.sohu.com/cityjson?ie=utf-8"></... -
IP获取地理位置的API接口
2019-02-23 15:17:00360获取本机IP、地区及运营商 接口地址:http://ip.360.cn/IPShare/info 传递参数:无 返回类型:json 返回值: greetheader:提示语(如上午好、中午好等) nickname:本机已登录的360账号 ip:本机IP地址 ... -
从高德地图获取城市公交线路+站点
2021-01-28 16:10:06公交线路+站点 在研究城市公共交通问题上,地面...基于此,本文将首先解决如何获取城市部分公交线路(单向的)的矢量数据问题!!! 下面直接给出数据获取的详细python脚本,请开始阅读 STEP01 准备条件:在高德开放平台. -
7、全国天气查询API接口,免费好用
2022-02-08 16:31:50全国天气查询接口,这个是RollToolsApi通用系列接口的其中一个,内部包含了2个小接口,能实现获取特定城市今日及未来三天的天气。这个接口的主要特点是,数据更新延迟低。 查看接口完整信息:... -
怎么提取自己空间说说的ID
2020-12-23 19:32:53展开全部一、查看636f707962616964757a686964616f31333365643639QQ空间说说ID的方法:1、进入自己的QQ空间,点击导航栏上面的说说,选择要查看的说说。2、在要查看的QQ空间说说ID下面有个赞、 评论、转载大家把鼠标... -
PHP调用全国天气预报数据接口查询天气示例
2021-01-02 23:26:00样例代码包含了获取支持城市列表、根据城市获取天气预报、根据IP地址请求天气预报、根据GPS坐标请求天气、城市3小时天气预报的实现。示例代码主要是解析一些常用字段,如需要完整或其他未包含的字段,可以自行参考...