import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class Mobile {
private static String getSoapRequest(String mobileCode) {
StringBuilder sb = new StringBuilder();
sb
.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "\n"
+ "<soap:Envelope xmlns:xsi=\" http://www.w3.org/2001/XMLSchema-instance\""
+ " "
+ "xmlns:xsd=\" http://www.w3.org/2001/XMLSchema\""
+ " "
+ "xmlns:soap=\" http://schemas.xmlsoap.org/soap/envelope/\">"
+ "\n"
+ "<soap:Body>" + "\n"
+ "<getMobileCodeInfo" + " "
+ "xmlns=\" http://WebXml.com.cn/\">" + "\n"
+ "<mobileCode>" + mobileCode + "</mobileCode>" + "\n"
+ "<userID></userID>" + "\n"
+ "</getMobileCodeInfo>" + "\n"
+ "</soap:Body>" + "\n"
+ "</soap:Envelope>"
);
return sb.toString();
}
sb
.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "\n"
+ "<soap:Envelope xmlns:xsi=\" http://www.w3.org/2001/XMLSchema-instance\""
+ " "
+ "xmlns:xsd=\" http://www.w3.org/2001/XMLSchema\""
+ " "
+ "xmlns:soap=\" http://schemas.xmlsoap.org/soap/envelope/\">"
+ "\n"
+ "<soap:Body>" + "\n"
+ "<getMobileCodeInfo" + " "
+ "xmlns=\" http://WebXml.com.cn/\">" + "\n"
+ "<mobileCode>" + mobileCode + "</mobileCode>" + "\n"
+ "<userID></userID>" + "\n"
+ "</getMobileCodeInfo>" + "\n"
+ "</soap:Body>" + "\n"
+ "</soap:Envelope>"
);
return sb.toString();
}
private static InputStream getSoapInputStream(String mobileCode) {
try {
String soap = getSoapRequest(mobileCode);
if (soap == null)
return null;
URL url = new URL(
" http://www.webxml.com.cn/WebServices/MobileCodeWS.asmx");
URLConnection conn = url.openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type","text/xml; charset=utf-8");
conn.setRequestProperty("Content-Length",Integer.toString(soap
.length()));
conn.setRequestProperty("SOAPAction",
" http://WebXml.com.cn/getMobileCodeInfo");
OutputStream os = conn.getoutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os,"UTF-8");
osw.write(soap);
osw.flush();
osw.close();
InputStream is = conn.getInputStream();
return is;
} catch (Exception e) {
e.printstacktrace();
return null;
}
}
try {
String soap = getSoapRequest(mobileCode);
if (soap == null)
return null;
URL url = new URL(
" http://www.webxml.com.cn/WebServices/MobileCodeWS.asmx");
URLConnection conn = url.openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type","text/xml; charset=utf-8");
conn.setRequestProperty("Content-Length",Integer.toString(soap
.length()));
conn.setRequestProperty("SOAPAction",
" http://WebXml.com.cn/getMobileCodeInfo");
OutputStream os = conn.getoutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os,"UTF-8");
osw.write(soap);
osw.flush();
osw.close();
InputStream is = conn.getInputStream();
return is;
} catch (Exception e) {
e.printstacktrace();
return null;
}
}
public static String getMobileNoTrack(String mobileCode) { try { Document document = null; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); InputStream is = getSoapInputStream(mobileCode); DocumentBuilder db = dbf.newDocumentBuilder(); document = db.parse(is); NodeList nl = document .getElementsByTagName("getMobileCodeInfoResult"); StringBuffer sb = new StringBuffer(); for (int i = 0; i < nl.getLength(); i++) { Node n = nl.item(i); if (n.getFirstChild().getNodeValue().equals("手机号码错误")) { sb = new StringBuffer("#"); System.out.println("手机号码输入有误"); break; } sb.append(n.getFirstChild().getNodeValue() + "\n"); } is.close(); return sb.toString(); } catch (Exception e) { e.printstacktrace(); return null; } } public static void main(String[] args) { System.out.println(getMobileNoTrack("18801001189")); System.out.println(getMobileNoTrack("15173720808")); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。