java 接受gsm信息_java/android查询手机固话归属地、GSM卡信息程序实现

Model.xml

$mobile

PhoneNumberInfo.java

package com.zontin.android.util;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.HttpURLConnection;

import java.net.URL;

import org.xmlpull.v1.XmlPullParser;

import android.util.Xml;

public class PhoneNumberInfo {

public static String findAddress(String mobile) throws Exception {

InputStream is = PhoneNumberInfo.class.getClassLoader()

.getResourceAsStream("Model.xml");

byte[] data = StreamTool.readStream(is);

String xml = new String(data, "UTF-8");

String soap = xml.replaceAll("\$mobile", mobile);

byte[] result = soap.getBytes("UTF-8");

String path = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx";

URL url = new URL(path);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod("POST");

conn.setDoOutput(true);

conn.setConnectTimeout(5 * 1000);

conn.setRequestProperty("Content-Type",

"application/soap+xml; charset=utf-8");

conn.setRequestProperty("Content-Length", String.valueOf(result.length));

OutputStream os = conn.getOutputStream();

os.write(result);

os.flush();

os.close();

InputStream isSocp = conn.getInputStream();

return parse(isSocp);

}

public static String parse(InputStream is) throws Exception {

XmlPullParser parser = Xml.newPullParser();

parser.setInput(is, "UTF-8");

int event = parser.getEventType();

while (event != XmlPullParser.END_DOCUMENT) {

switch (event) {

case XmlPullParser.START_TAG:

if ("getMobileCodeInfoResult".equals(parser.getName())) {

return parser.nextText();

}

break;

}

event = parser.next();

}

return null;

}

}

StreamTool.java

package com.zontin.android.util;

import java.io.ByteArrayOutputStream;

import java.io.InputStream;

public class StreamTool {

/**

* 读取输入流数据

*

* @param is

* @return

* @throws Exception

*/

public static byte[] readStream(InputStream is) throws Exception {

ByteArrayOutputStream os = new ByteArrayOutputStream();

byte[] buffer = new byte[2048];

int len = 0;

while ((len = is.read(buffer)) != -1) {

os.write(buffer, 0, len);

}

is.close();

return os.toByteArray();

}

}

以上准备好现在就可以调用了:

try {

Log.d("QY", "XXX号码的归属地信息:"+PhoneNumberInfo.findAddress( "这里传入号码"));

} catch (Exception e) {

Log.d("QY", "查询失败"+e.toString());

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值