Android实现号码归属地查询
来源:互联网 发布:网络摄像机 远程存储 编辑:程序博客网 时间:2024/04/30 15:23
我们通过发送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实现号码归属地查询
- Android实现号码归属地查询
- Android里实现号码归属地查询
- Android实现号码归属地查询
- Android实现号码归属地查询
- 简单的 Android 调用WebService 实现号码归属地查询
- 号码归属地查询---------------
- 号码归属地查询
- 号码归属地查询
- 号码归属地查询
- java语言实现号码归属地查询
- Android开发之号码归属地查询
- 号码归属地查询软件
- WebService号码归属地查询
- 号码归属地的查询
- 号码归属地查询接口
- C# 号码归属地查询算法(根据Android来电归属地二进制文件查询修改)
- Android 号码, 来电归属地 Jni 使用C++对二进制文件查询(二) C++实现篇
- Yii Framework 的breadcrumbs里面HOME修改为中文的方法
- bash: [: 丢失了“]”
- 建立大学生职业成长规划4个步骤
- 利用反射机制,将ResultSet处理为bean或list的方法
- C#的 GC工作原理基础
- Android实现号码归属地查询
- Yii Framework中验证码的使用
- Python学习随记(持续更新)
- Yii Framework的CHtml::link支持锚点
- 2011-9-27 22:02:12
- Yii 一些引用路径的方法
- AJAX第二课
- shell中单引号、双引号、反引号的区别(转自互联网)
- db_name、instance_name、service_names