首页 > 代码库 > C# 获得手机归属地功能
C# 获得手机归属地功能
今天通过查资料了解到web的页面抓取功能,应用HttpWebRequest和HttpWebResponse功能,从http://www.showji.com网站中抓取归属地信息
应该说这个方法是从别的论坛中学习来的,具体过程如下:
通过IE9的网络监控功能:
通过分析抓取的数据,将获取归属的地信息
分析一条数据我们可以得到以下信息
返回的是一条json数据,我们通过http://api.showji.com/Locating/www.show.ji.c.o.m.aspx?m=18311095178&output=json&callback=querycallback×tamp=1411465926173 这个网址也可得到相对于的JSON数据;
当我们把这个网址从电话后面截取只用前一半的时候页面数据就变成下面这样:XML文件
剩下的步骤就简单了,只要通过分析获得的XML文件,我们就可以得到我们想要的数据
web页面具体代码如下
1 protected void Button1_Click(object sender, EventArgs e) 2 { 3 string Phone = this.Txt_Con.Text; 4 string url = "http://api.showji.com/Locating/www.show.ji.c.o.m.aspx?m=" + Phone; 5 6 foreach (string item in GetHttpXml(url)) 7 { 8 9 TextBox1.Text += item + "\n";10 }11 }12 13 public string[] GetHttpXml(string url)14 {15 XmlDocument xml = new XmlDocument();16 xml.Load(url);17 18 XmlNamespaceManager xmlNm = new XmlNamespaceManager(xml.NameTable);19 xmlNm.AddNamespace("content", "http://api.showji.com/Locating/");20 XmlNodeList nodes = xml.SelectNodes("//content:QueryResult|//content:Mobile|//content:Province|//content:City|//content:Corp|//content:Card|//content:AreaCode|//content:PostCode", xmlNm);21 if (nodes.Count == 8)22 {23 if ("True".Equals(nodes[1].InnerText))24 {25 26 return new string[] { "手机号:"+nodes[0].InnerText, "运行商:"+nodes[2].InnerText, "归属省:"+nodes[3].InnerText, "归属市:"+nodes[4].InnerText,"城市区号:"+nodes[5].InnerText,"城市邮编"+nodes[6].InnerText};27 }28 }29 return new string[] { "FALSE" };30 }
运行效果:
C# 获得手机归属地功能
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。