博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安全卫士分析--号码归属地
阅读量:6232 次
发布时间:2019-06-21

本文共 2644 字,大约阅读时间需要 8 分钟。

前言

很早之前就看到网上有一个手机安全卫士和手机助手的源码,一直没看看里面的一些实现,今天下载后运行,发现手机卫士其实只是个界面短信公共感觉没实现,有待具体分析,本文将分析手机助手里德号码归属地查询。

源码传送门:

git clone git@github.com:avenwu/mobilehelper.git 或

git clone https://github.com/avenwu/mobilehelper.git

本文使用到的技术如下:

  • json解析
  • Android volley,
  • RoboGuice,

正文

要查归属地我觉得有两种思路,一是本地数据库查询,这个需要你有一个各大运营商手机号段的数据,另一个就是走网络查询,现在网上有很多这种提供号码查询的站点很多,但是会返回许多额外的数据,搜索了下找到两篇文章,内容基本一样,不知道那篇是原创:

上面列出的实际上就是一些比较好的干净api,返回的数据简洁明了,主要有xml和json两种格式,

现在选用作为查询的api,

其返回结果如下:


phone( { meta:{ result: "0", result_info: "", jump_url: "" }, data: { operator: "移动", area: "江苏", area_operator: "江苏移动" } } )


这个是json格式,但不是完全正确,所以解析时要做一点修改。

  json数据的正确格式是: 

(1)一个对象以“{”(左括号)开始,“}”(右括号)结束。

(2)每个“名称”后跟一个“:”(冒号);

(3)“‘名称/值’ 对”之间使用“,”(逗号)分隔。

 

发请求时,只需将参数换为要查询的手机号即可:

String url = PRE_URL.replace("phoneNumber", editPhonenumber                        .getText().toString().trim());                phoneRequest = new StringRequest(url, new Listener
() { @Override public void onResponse(String arg0) { /* * phone( { meta: { result: "0", result_info: "", * jump_url: "" }, data: { operator: "移动", area: "江苏", * area_operator: "江苏移动" } } ) */ int start = arg0.indexOf("{"); int end = arg0.lastIndexOf("}") + 1; JSONObject json = null; try { json = new JSONObject(arg0.substring(start, end)); StringBuffer result = new StringBuffer(); result.append("手机号:" + editPhonenumber.getText().toString() .trim()); result.append("\n运营商:" + json.getJSONObject("data").get( "area_operator")); tvResult.setText(result.toString()); } catch (JSONException e) { e.printStackTrace(); } } }, new ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { Toast.makeText(MainActivity.this, R.string.query_failed, Toast.LENGTH_SHORT) .show(); } }); NetManager.queryPhoneNumber(phoneRequest);

 

转载于:https://www.cnblogs.com/avenwu/archive/2013/06/14/3136154.html

你可能感兴趣的文章
Java 9的JDK中值得期待的:不仅是模块化
查看>>
协鑫光伏:提升良品率的一小步是“中国智造”的一大步
查看>>
IoT大潮来袭 车联网行业准备好了吗?
查看>>
时空穿梭 探寻高端存储架构的前世今生
查看>>
中国企业应用数据分析大概情况和未来趋势
查看>>
阿里巴巴集团宣布60亿战略增资阿里云
查看>>
云计算Cloud Computing简介
查看>>
俄罗斯间谍黑客组织图拉劫持通信卫星链路盗取数据
查看>>
PM经验谈 项目管理工具必备的5个功能
查看>>
解读数据传输DTS技术架构及最佳实践
查看>>
谁来给电视盒子接班?
查看>>
CSS实现1px以内的移动
查看>>
2.4GHz、5GHz、60GHz,到底谁的无线信号又快又好?
查看>>
对实习生最慷慨的25家美国公司 猜每月多少薪水?
查看>>
《云计算揭秘企业实施云计算的核心问题》——第1章,第1.0节什么是云计算
查看>>
浅读亚太数据中心发展
查看>>
各地法院运用“大数据”“互联网+”提高司法效率
查看>>
让大数据助力全球能源互联网
查看>>
笔记:Ceph and Swift: Why we are not fighting.
查看>>
内蒙古首家智慧城市展示体验中心建成
查看>>