本文实例讲述了Android编程实现号码归属地查询的方法。分享给大家供大家参考,具体如下:
我们通过发送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中提供了电话归属地查询的使用说明
效果图:
核心代码:
public class XmlService { public String query(String num) throws Exception { InputStream in = this.getClass().getClassLoader().getResourceAsStream("query.xml"); byte[] data = LoadUtils.load(in); String xml = new String(data); //替换 xml = xml.replace("#", num); byte[] sendData = xml.getBytes("UTF-8"); //发送到代理的地址上 URL url = new URL("http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/soap+xml; charset=utf-8"); conn.setRequestProperty("Content-Length", String.valueOf(sendData.length)); //将请求的xml发送出去 conn.setDoOutput(true); conn.getOutputStream().write(sendData); //获取从服务器传回来的数据 if (conn.getResponseCode() == 200) return parse(conn.getInputStream()); return null; } //解析流拿到getMobileCodeInfoResult中的数据 private String parse(InputStream inputStream) throws Exception { XmlPullParser parser = Xml.newPullParser(); parser.setInput(inputStream, "UTF-8"); //查找getMobileCodeInfoResult标签,获取标签中的数据 for (int event = parser.getEventType(); event != XmlPullParser.END_DOCUMENT; event = parser.next()) switch (event) { case XmlPullParser.START_TAG: if ("getMobileCodeInfoResult".equals(parser.getName())) return parser.nextText(); } return null; } }
发送的xml封装了电话号码(query.xml):
<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <getMobileCodeInfo xmlns="http://WebXml.com.cn/"> <mobileCode>#</mobileCode> <userID></userID> </getMobileCodeInfo> </soap12:Body> </soap12:Envelope>
希望本文所述对大家Android程序设计有所帮助。
本文向大家介绍Python手机号码归属地查询代码,包括了Python手机号码归属地查询代码的使用技巧和注意事项,需要的朋友参考一下 简单的一个例子,是以前用Dephi写的,前不久刚实现了一个在Python中使用Delphi控件来编写界面程序,于是趁热写一个类似的的查询方案。 本实例是通过www.ip138.com这个网站来查询的,这里需要的几个知识点,就是用Python模拟网页提交数据,获得数据返
本文向大家介绍浅析Android手机卫士之号码归属地查询,包括了浅析Android手机卫士之号码归属地查询的使用技巧和注意事项,需要的朋友参考一下 使用小米号码归属地数据库,有两张表data1和data2 先查询data1表,把手机号码截取前7位 再查询data2表, 可以使用子查询 创建数据库工具类 新建一个包xxx.db.dao 新建一个类NumberAddressUtils,新建一个静态方法
本文向大家介绍Android使用http请求手机号码归属地查询代码分享,包括了Android使用http请求手机号码归属地查询代码分享的使用技巧和注意事项,需要的朋友参考一下 归属地数据源 http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx webxml网站还支持其他请求方式 如SOAP等等 界面比较简单 下面是MainAct
本文向大家介绍使用Redis有序集合实现IP归属地查询详解,包括了使用Redis有序集合实现IP归属地查询详解的使用技巧和注意事项,需要的朋友参考一下 工作中经常遇到一类需求,根据 IP 地址段来查找 IP 对应的归属地信息。如果把查询过程放到关系型数据库中,会带来很大的 IO 消耗,速度也不能满足,显然是不合适的。 那有哪些更好的办法呢?为此做了一些尝试,下面来详细说明。 构建索引文件 在 Gi
本文向大家介绍在PostgreSQL中实现递归查询的教程,包括了在PostgreSQL中实现递归查询的教程的使用技巧和注意事项,需要的朋友参考一下 介绍 在Nilenso,哥在搞一个 (开源的哦!)用来设计和发起调查的应用。 下面这个是一个调查的例子: 在内部,它是这样表示滴: 一个调查包括了许多问题(question)。一系列问题可以归到(可选)一个分类(category)中。我们实际的数
本文向大家介绍android项目手机卫士来电显示号码归属地,包括了android项目手机卫士来电显示号码归属地的使用技巧和注意事项,需要的朋友参考一下 昨日实现了360手机卫士的来电显示归属地的功能,具体的功能就是当来电的时候,显示当前号码的归属地,学习之后发现操作 非常的简单,具体实现代码如下: AddressService.java 设置中心,配置是否开启来电归属地显示 直接使用我们之前定义好
本文向大家介绍Android编程实现读取本地SD卡图片的方法,包括了Android编程实现读取本地SD卡图片的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程实现读取本地SD卡图片的方法。分享给大家供大家参考,具体如下: 该方法实现了从本地路径读取一张图片, 可以是jpg、bmp、png等多种格式。 pathString 是本地图片路径 如: "mnt/sdcar
GeoIP 是最常见的免费 IP 地址归类查询库,同时也有收费版可以采购。GeoIP 库可以根据 IP 地址提供对应的地域信息,包括国别,省市,经纬度等,对于可视化地图和区域统计非常有用。 配置示例 filter { geoip { source => "message" } } 运行结果 { "message" => "183.60.92.253"