免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
C# Winform實現手機號碼歸屬地查詢工具

摘要:本文介紹使用C#開發(fā)基于Winform的手機號碼歸屬地查詢工具,并提供詳細的示例代碼供參考。

一、需求描述

輸入正確的手機號碼,查詢該號碼的歸屬地和其他相關信息。

二、需求分析

1、實現手機號碼歸屬地查詢的方法

01、本地數據庫存儲信息,查詢本地庫

02、調用WebService查詢

03、通過Http請求Get方式從服務器上獲取數據

2、方式分析:

01、采用本地數據庫存儲,可以斷網查詢,無需付費,但信息量較大占用本地資源

02、調用WebService必須連接網絡,不占用本地資源,但公開的WebService大多數需要付費。

03、通過Http請求Get方式從服務器上獲取數據的方式必須連接網絡,不占用本地資源,無需付費。

通過以上分析,決定采用第3種方式實現

三、實現思路

尋找免費的手機號碼歸屬地查詢網址

通過一番尋找和對比,決定使用“手機號碼歸屬地數據庫API”這個網站上的查詢接口。

首頁地址:http://vip.showji.com/locating/help.htm

查詢地址(返回結果頁面):http://api.showji.com/Locating/query.aspx?m=手機號碼

查詢地址(返回xml數據):http://vip.showji.com/locating/?m=手機號碼

經過分析和反復試驗發(fā)現,查詢結果可以直接發(fā)回xml格式的數據,哈哈,親,要的就是你。

有了xml數據就好辦了,通過抓取網頁Html代碼,用一個string變量存儲xml格式的數據,然后通過分析xml數據得到手機號碼歸屬地信息。

四、實現方法(代碼)

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Net;using System.IO;using System.Xml;namespace QueryLocating{    public partial class formQueryLocating : Form    {        //Html網頁代碼        private string htmlCode = string.Empty;        //運營商        private  string corp = string.Empty;        //手機卡類型        private  string card = string.Empty;        public formQueryLocating()        {            InitializeComponent();        }        /// <summary>        /// 查詢        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btnQuery_Click(object sender, EventArgs e)        {            if (txtm.Text.Trim().ToString() != "")            {                //抓取網頁html代碼                htmlCode = GetStringByUrl("http://vip.showji.com/locating/?m=" + txtm.Text.Trim().ToString());                //查詢手機號碼歸屬地                QueryLocating(htmlCode);            }            else            {                txtMobile.Text = "";                txtProvince.Text = "";                txtCity.Text = "";                txtAreaCode.Text = "";                txtPostCode.Text = "";                txtCard.Text = "";                MessageBox.Show("請輸入手機號碼!", "錯誤提示", MessageBoxButtons.OK, MessageBoxIcon.Information);            }        }        /// <summary>        /// 查詢手機號碼歸屬地        /// </summary>        /// <param name="htmlCode">網頁Html代碼</param>        private void QueryLocating(string htmlCode)        {            //創(chuàng)建Xml實例            XmlDocument xmldoc = new XmlDocument();            //加載Xml文檔            xmldoc.LoadXml(htmlCode);            //獲取Xml文檔的根元素            XmlElement root = xmldoc.DocumentElement;            //獲取Xml文檔的根元素下的所有子節(jié)點            XmlNodeList topNode = xmldoc.DocumentElement.ChildNodes;            //子節(jié)點集合            XmlNodeList elemList;            //遍歷根元素下所有子節(jié)點            foreach (XmlElement element in topNode)            {                //根據節(jié)點名稱獲取節(jié)點元素值                elemList = root.GetElementsByTagName(element.Name);                switch (element.Name)                {                    //判斷手機號碼格式是否正確                    case "QueryResult":                        if (elemList[0].InnerText.ToString() == "False")                            MessageBox.Show("您輸入的手機號碼格式有誤,請重新輸入!", "錯誤提示", MessageBoxButtons.OK, MessageBoxIcon.Information);                        continue;                    //手機號碼                    case "Mobile":                        txtMobile.Text = elemList[0].InnerText;                        break;                    //所屬省份                    case "Province":                        txtProvince.Text = elemList[0].InnerText;                        break;                    //所屬城市                    case "City":                        txtCity.Text = elemList[0].InnerText;                        break;                    //區(qū)號                    case "AreaCode":                        txtAreaCode.Text = elemList[0].InnerText;                        break;                    //郵編                    case "PostCode":                        txtPostCode.Text = elemList[0].InnerText;                        break;                    //運營商                    case "Corp":                        corp = elemList[0].InnerText;                        break;                    //卡類型                    case "Card":                        card = elemList[0].InnerText;                        //拼接字符串(運營商+卡類型)                        txtCard.Text = corp + card;                        break;                }            }        }        /// <summary>        /// 抓取網頁html代碼        /// </summary>        /// <param name="strUrl">URL</param>        /// <returns></returns>        private static string GetStringByUrl(string strUrl)        {            //與指定URL創(chuàng)建HTTP請求            WebRequest wrt = WebRequest.Create(strUrl);            //獲取對應HTTP請求的響應            WebResponse wrse = wrt.GetResponse();            //獲取響應流            Stream strM = wrse.GetResponseStream();            //對接響應流(以"GBK"字符集)            StreamReader SR = new StreamReader(strM, Encoding.GetEncoding("UTF-8"));            //獲取響應流的全部字符串            string strallstrm = SR.ReadToEnd();            //關閉讀取流            SR.Close();            //返回網頁html代碼            return strallstrm;        }    }}

最終效果圖:

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
批量手機號碼歸屬地查詢
如何批量查詢手機號碼歸屬地
手機號碼歸屬地查詢
手機號碼段的歸屬
.net手機號碼歸屬地導入
親手擼碼,爬取 手機號碼歸屬地最新數據(201911)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服