手机号码归属地webservice,归属webservice,public class
分享于 点击 48438 次 点评:70
手机号码归属地webservice,归属webservice,public class
public class Mobile { /** * 获得soap请求 * @param mobileCode * @return */ 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(); } /** * 发送soap请求到服务器,并接受返回数据 * @param mobileCode * @return */ 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; } } 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; } }}//该片段来自于http://byrx.net
用户点评