從零開始調用一個手機號歸屬地查詢API

來源:互聯網
上載者:User

標籤:container   技術   types   ref   bre   property   ade   建立   encoding   

     自從過上程式員的生活,身邊總是或多或少的提及一些API(應用程式介面),網上各種入門教程、執行個體大把大把,有的只是貼上部分代碼,也不給注釋, 寫Demo的時候連編譯都無法通過。下面我從小白開始來介紹下調用手機API的詳細步驟

     1. 準備工作,查閱相關介面資訊,部分商業的時收費的

介面地址           http://sj.apidata.cn/請求參數
參數名 參數說明
mobile 要查詢的手機號碼。
callback 需要JSONP格式的返回資料時需要指定callback。
請求樣本           http://sj.apidata.cn/?mobile=13488888888返回欄位 
欄位名 欄位類型 欄位說明
status integer 介面請求狀態:0=請求失敗,1=請求成功
data object 返回的結果資料對象
message string 返回的訊息,請求失敗時返回失敗原因
data節點欄位說明:
欄位名 欄位類型 欄位說明
prefix integer 手機號碼號段。
mobile string 查詢的手機號碼
province string 歸屬地省份名稱。
city string 歸屬地城市名稱
isp string 歸屬的電訊廠商名稱
code integer 歸屬地行政編號
zipcode integer 歸屬地郵遞區號
types string 手機號碼卡資訊
返回樣本{
    "status": 1,     "data": {        "prefix": 138,         "province": "雲南",         "city": "昆明",         "isp": "移動",         "code": 871,         "zipcode": 650500,         "types": "中國移動 GSM",         "mobile": "13888888888"    },     "message":"success"}


2.發送請求,處理返回結果
  private void GetNumInform(string  num)         {            string url = "http://sj.apidata.cn/?mobile=" + num;            //請求數據            HttpWebRequest res = (HttpWebRequest)WebRequest.Create(url);            //方法名            res.Method = "GET";            //獲取餉應數據            HttpWebResponse resp = (HttpWebResponse)res.GetResponse();                       //讀取數據流            StreamReader sr = new StreamReader(resp.GetResponseStream(),Encoding.UTF8);            //編譯成字串            string resphtml = sr.ReadToEnd();                        #region Demo1            //獲取Json數據對象            NumDes numdes = JsonConvert.DeserializeObject<NumDes>(resphtml);            string city = numdes.data["city"].ToString();            string isp = numdes.data["isp"].ToString();            #endregion                        #region Demo2            JObject numdbers = JObject.Parse(resphtml);            string c = numdbers["data"]["city"].ToString();            #endregion            TextBox2.Text = city + isp;                   }

  3. 調用序列化庫,否則無法識別JObject、JsonConvert 對象,VS內建的有Nuget包,裡面有我們需要的Newtonsoft包,只需要安裝就可以

   依次開啟: 工具-Nuget封裝管理員-封裝管理員控制台

   輸入:  Install-Package Newtonsoft.json

   

 如果提示安裝失敗,或者版本不一致,需要Nuget升級到最新版本,則在依舊在管理列表中先卸載Nuget包,然後在重新安裝便是最新版本

4. 對於上面Demo1 的numdes 對象,需要建立一個實體類,建立與介面網站傳回值對應的屬性,在http://sj.apidata.cn/中,返回的欄位為:stasus、data、message,所以在建立的類中寫入對應的成員欄位,如下

  public class NumDes    {        public int status { get; set; }        public Dictionary<string,string> data { get; set; }        public string message { get; set; }    }

5.啟動程式,得到返回的城市、電訊廠商

 

   

 




從零開始調用一個手機號歸屬地查詢API

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.