java/android查询手机固话归属地、GSM卡信息 (一)

2014-11-24 11:54:49 · 作者: · 浏览: 51

Model.xml


[html]
< xml version="1.0" encoding="utf-8" >



$mobile



< xml version="1.0" encoding="utf-8" >



$mobile




PhoneNumberInfo.java


[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;
}
}

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);