咱們經過發送XML訪問 WebService就能夠實現號碼的歸屬地查詢,咱們可使用代理服務器提供的XML的格式進行設置,而後請求提交給服務器,服務器根據請求就會返回給一個XML,XML中就封裝了咱們想要獲取的數據。 html
http://www.baisoujs.com web
發送XML 服務器
http://www.baisoujs.com/detail_137571041148792.html 網絡
1.經過URL封裝路徑打開一個HttpURLConnection app
2.設置請求方式,Content-Type和Content-Length 網站
XML文件的Content-Type爲:application/soap+xml; charset=utf-8 this
3.使用HttpURLConnection獲取輸出流輸出數據 url
WebService spa
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);
- //替換
- xmlxml = 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;
- }
- }
http://www.baisoujs.com/detail_137571041148792.html