java查询城市区号,java根据手机号获取归属地
引言
最近在做一个关于车新闻的项目,让弄个根据用户注册的手机号获取该用户手机号所在地区,刚刚听说感觉特别高大上,这也可以获得???于是就开始度娘。。查了好多资料渐渐的明白了原理。
原理介绍
(1)先上网差一些能够查询手机号获取归属地的API地址。(推荐地址:http://blog.csdn.net/liuyunfan/article/details/13624335)里面有很多API。例如:http://virtual.paipai.com/extinfo/GetMobileProductInfo?mobile=手机号码&amount=10000&callname=getPhoneNumInfoExtCallback
从网页里面浏览如图:
(2)利用java url.openstream获取URL(API地址)页面的全部内容。
(3)把获取的内容去掉一些没有用的东西转换成json结构。
(4)获取json结构中需要的城市的value值。
代码示例
/**
* 测试手机号码是来自哪个城市的,利用拍拍网的API
* @param mobileNumber 手机号码
* @return
* @throws MalformedURLException
*/
public static String calcMobileCity(String mobileNumber) throws MalformedURLException{
String jsonString = null;
JSONArray array = null;
JSONObject jsonObject = null;
//获取拍拍网的API地址
String urlString = "http://virtual.paipai.com/extinfo/GetMobileProductInfo?mobile="+mobileNumber+"&amount=10000&callname=getPhoneNumInfoExtCallback";
StringBuffer sb = new StringBuffer();
BufferedReader buffer;
URL url = new URL(urlString);
try{
//获取URL地址中的页面内容
InputStream in = url.openStream();
// 解决乱码问题
buffer = new BufferedReader(new InputStreamReader(in,"gb2312"));
String line = null;
//一行一行的读取数据
while((line = buffer.readLine()) != null){
sb.append(line);
}
in.close();
buffer.close();
// System.out.println(sb.toString());
jsonString = sb.toString();
// 替换掉“getPhoneNumInfoExtCallback(,);”,让它能转换为JSONArray对象
jsonString = jsonString.replace("getPhoneNumInfoExtCallback(", "[");
jsonString = jsonString.replace(");", "]");
// 把jsonString转化为json对象
array = JSONArray.fromObject(jsonString);
// 获取JSONArray的JSONObject对象,便于读取array里的键值对
jsonObject = array.getJSONObject(0);
}catch(Exception e){
e.printStackTrace();
}
//从JSONObject对象中读取城市名称
return jsonObject.getString("cityname");
}
用的话直接调用这个方法就可以了。
调用结果
打印到控制台如图:
结束语
不要被困难吓倒,不要因没有听过,没有做过的事情而退缩。勇往直前你会发现其实都很简单。。。
java查询城市区号,java根据手机号获取归属地相关推荐
- 城市区号查询 API数据接口
城市区号查询 计费模式 免费额度 点数单价 每日限制 会员免费 100次 免费 1000次 更新时间:2022-07-11 02:59:37接口状态:正常 根据城市名称 返回对应区号 或者 根据区号 ...
- 编写一个能管理城市区号信息的系统程序,系统能够读取、查找、输出城市区号信息。 c语言 ,,其中,区号查询内容显示效果为:
编写一个能管理城市区号信息的系统程序,系统能够读取.查找.输出城市区号信息. c语言 ,其中,区号查询内容显示效果为: ![img](https://img-mid.csdnimg.cn/releas ...
- 支付宝小程序获取位置API没有城市区号的最佳处理方案
前言: 需要对城市区号进行判断,但是支付宝小程序提供的my.getLocation() API返回的数据中只有6位的城市行政代码,诸如:深圳(440300),并没有区号(0755),那么怎么办呢? 需 ...
- 小程序获取城市行政区号_支付宝小程序开发——获取位置API没有城市区号的最佳处理方案...
前言: 需要对城市区号进行判断,但是支付宝小程序提供的my.getLocation() API返回的数据中只有6位的城市行政代码,诸如:深圳(440300),并没有区号(0755),那么怎么办呢? 需 ...
- 判断身份证号是否合法;验证城市区号,生日
判断身份证号是否合法 ; 验证城市区号 , 生日 直接上代码 /*** 判断身份证号是否合法* 验证城市区号;生日* Date:2018年12月29日 * @author D2yml**/ publi ...
- linux java 查询cpu核数,linux java 查询cpu核数
linux java 查询cpu核数 [2021-02-06 01:50:36] 简介: 在Linux中,可以使用"cat /proc/cpuinfo| grep "cpu co ...
- 通过ip获取所在地理位置、通过手机号获取归属地
目录 准备工作 1.准备pom.xml 2.准备http工具类,类名是HttpUtils(自己找位置放置,只要能用到就可以了) 一.通过ip获取所在地址位置 方法一.使用http://whois.pc ...
- 城市区号查询易语言代码
.版本 2 .子程序 __启动窗口_创建完毕 '添加并使用<精易模块> Send_API () .子程序 Send_API .局部变量 REQU_Data, 文本型, , , 提交字符串 ...
- java查询序列_基于JAVA的苹果序列号查询api调用代码实例
代码描述:基于JAVA的苹果序列号查询api调用代码实例 关联数据:苹果序列号 接口地址:http://www.juhe.cn/docs/api/id/37 1.[代码][Java]代码 import ...
最新文章
- linux内核锁机制学习
- ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: ‘
- AAAI 2021 | 幻灯片中文字的重要性预测赛亚军DeepBlueAI团队技术分享
- Radio / Select 设置 checked 没反应
- April 24, 17:30-20:00, 1479, Concentration-compactness/Rigidity method lecture 3 by Yang Lan
- NDK-r17c编译FFmpeg4.3(支持硬编解码与neon)(七)
- Web Audio介绍
- iTween介绍和用法
- SBIO | 浙大马忠华团队综述染色质重塑复合体SWI/SNF在植物-病原体互作中的作用...
- iphone ios 手势
- 网吧WEB、游戏、影视服务器应用需求分析
- 如何获取android系统版本号
- 服务器白屏维修,液晶屏故障汇总及检修方法之一(白屏)
- 数据仓库系列:初识数仓
- android按返回键和Home键都进入后台
- 三、【VUE基础】数据绑定
- 编写一个java_Java入门篇(一)——如何编写一个简单的Java程序
- Harris角点及Shi-Tomasi角点检测
- JavaWeb 购物车项目
- python黑科技自动p图_自动P图神器来了,这些逆天小程序!