我们通过发送XML访问 WebService就可以实现号码的归属地查询,我们可以使用代理服务器提供的XML的格式进行设置,然后请求提交给服务器,服务器根据请求就会返回给一个XML,XML中就封装了我们想要获取的数据。

发送XML

1.通过URL封装路径打开一个HttpURLConnection

2.设置请求方式,Content-Type和Content-Length

XML文件的Content-Type为:application/soap+xml; charset=utf-8

3.使用HttpURLConnection获取输出流输出数据

WebService

1.WebService是发布在网络上的API,可以通过发送XML调用,WebService返回结果也是XML数据

2.WebService没有语言限制,只要可以发送XML数据和接收XML数据即可

3.http://www.webxml.com.cn/网站上提供了一些WebService服务,我们可以对其进行调用

4.http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo中提供了电话归属地查询的使用说明

效果图:

示例代码:

view plain
  1. public class XmlService {
  2. public String query(String num) throws Exception {
  3. InputStream in = this.getClass().getClassLoader().getResourceAsStream("query.xml");
  4. byte[] data = LoadUtils.load(in);
  5. String xml = new String(data);
  6. //替换
  7. xmlxml = xml.replace("#", num);
  8. byte[] sendData = xml.getBytes("UTF-8");
  9. //发送到代理的地址上
  10. URL url = new URL("http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx");
  11. HttpURLConnection conn = (HttpURLConnection) url.openConnection();
  12. conn.setRequestMethod("POST");
  13. conn.setRequestProperty("Content-Type", "application/soap+xml; charset=utf-8");
  14. conn.setRequestProperty("Content-Length", String.valueOf(sendData.length));
  15. //将请求的xml发送出去
  16. conn.setDoOutput(true);
  17. conn.getOutputStream().write(sendData);
  18. //获取从服务器传回来的数据
  19. if (conn.getResponseCode() == 200)
  20. return parse(conn.getInputStream());
  21. return null;
  22. }
  23. //解析流拿到getMobileCodeInfoResult中的数据
  24. private String parse(InputStream inputStream) throws Exception {
  25. XmlPullParser parser = Xml.newPullParser();
  26. parser.setInput(inputStream, "UTF-8");
  27. //查找getMobileCodeInfoResult标签,获取标签中的数据
  28. for (int event = parser.getEventType(); event != XmlPullParser.END_DOCUMENT; event = parser.next())
  29. switch (event) {
  30. case XmlPullParser.START_TAG:
  31. if ("getMobileCodeInfoResult".equals(parser.getName()))
  32. return parser.nextText();
  33. }
  34. return null;
  35. }
  36. }

转载于:https://www.cnblogs.com/rmbteam/archive/2011/10/23/2221772.html

Android实现号码归属地查询相关推荐

  1. Android Studio之号码归属地查询(Webservice)

    1.准备工作 (1)下载ksoap2-android-assembly-xxx-jar-with-dependencies.jar包 下载地址: Index of /repositories/ksoa ...

  2. Android studio 电话号码归属地查询app简易版

    安卓的基础知识学了一个多月后一直觉得遇到了瓶颈,想写几个APP来证明一下自己,不过后面还是发现自己太年轻了,毕竟技术的路还是很长的,看到这篇博客的朋友希望能从中学到一些东西,这样这篇博客就没有白费. ...

  3. Android中手机号码归属地查询实现

    这部分是昨天学习的,但是因为眼睛超负荷所以拖到现在,以后要合理规划时间. 目前手机里面的号码归属地查询主要是通过两种方式:1.联网查询,2.匹配本机归属地数据库. 我认为两种结合方式最好,在本地数据库 ...

  4. 手机号归属地_【号码归属地查询工具】

    本工具用于批量查询手机号码归属地信息. 数据需求 把要要查询的手机号码放到"号码清单"文件中,将清单文件放置与工具同目录下: 手机号码 18666793012 1379287108 ...

  5. 号码归属地查询 核心平台 NGD

    号码归属地查询模块已发布.目前仅提供两个方法,具体见代码: /** * * <B>号码归属查询类</B><br> * * @author NGD * @since ...

  6. postman的使用-----号码归属地查询接口测试

    postman的使用-----号码归属地查询接口测试(get 接口) postman介绍 完整的postman主界面如下: 号码归属地查询接口说明: 本次postman使用的是聚合接口中的号码归属地 ...

  7. 表格号码归属地查询的正确检测方式

    工具/原料: 能上网的电脑一台. 音速表格号码归属地 功能: 1 可以对表格中的归属地,运营商,进行快速的批量查询. 2 可以过滤表格当中重复的号码. 特点: 1. 查询以后的数据直观,明了. 2.  ...

  8. python 号码归属地查询

    python 号码归属地查询:s='''5582|1860101|010|北京市|北京联通GSM卡 5583|1860100|010|北京市|北京联通GSM卡 5584|1368141|010|北京市 ...

  9. [android] 手机卫士号码归属地查询

    使用小米号码归属地数据库,有两张表data1和data2 先查询data1表,把手机号码截取前7位 select outkey from data1 where id="前七位手机号&quo ...

最新文章

  1. 科技创新2030—“新一代人工智能”重大项目拟立项的2018年度项目公示清单
  2. win10部署webservice网站的步骤
  3. CSS基础(part17)--vertical-align垂直对齐
  4. 使用 jQuery 查询属性不包含 disabled 的 input radio
  5. 前端学习(1775):前端调试之session storage原理和查看
  6. linux pmap was java,jvm 《九》pmap linux 命令介绍 及使用
  7. 分布式系统服务器要求,浅谈分布式系统
  8. linux目录名乱码,为什么挂载中文目录或文件名是乱码?
  9. 单片机ADC采样算法----消抖滤波法
  10. HttpClient(一)HttpClient抓取网页基本信息
  11. 电力系统技术导则_《电力系统安全稳定导则(征求意见稿)》发布
  12. wordpress字体_如何在WordPress中使用网络字体
  13. 电子邮件协议:SMTP、POP3、IMAP4
  14. 基于STM32 LCD屏实现的俄罗斯方块小游戏(20220522完成 第一个综合类项目)
  15. 俄罗斯方块是java_俄罗斯方块(java版)
  16. 升级macOS Catalina 后辅助功能空白无法添加的问题
  17. python基础学习_02数据类型+占位符+运算符+IF分支基础
  18. 用MATLAB绘制两个圆相切,教您用几何绘图工具画三个两两相切的圆
  19. Android开发:Shape详细解读
  20. Tiny4412裸机程序之代码在DDR SDRAM中运行

热门文章

  1. 被尘封的故事鸿蒙轩,被尘封的故事全任务通关人物存档
  2. 广工 2013 c语言 试卷,广工2013-5-30、6-25概率论c试卷答案.doc
  3. unix到底有啥用_汽车后挡风玻璃上的“横线”到底有啥用?不懂就别说自己会开车了...
  4. np.mean(data, axis=0)函数
  5. 织梦php gbk转换utf8,dedecms 5.1 utf-8版本英文怎么修改
  6. usb升级linux固件,Linux USB驱动(4)---CY68013固件加载驱动
  7. 2小时学会java_2小时学会springboot源码
  8. 计算机技师工作调研,技师学院党委书记王庆余到计算机工程系进行“不忘初心、牢记使命”主题教育调研工作...
  9. java qq 界面_【Java】仿真qq尝试:聊天界面 响应用户输入
  10. 数据可视化之MATPLOTLIB实战:PLT.POLAR()函数 绘制极线图 (转载)