• 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&timestamp=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 + "
    ";
    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         }

    运行效果:

  • 相关阅读:
    CentOS7 配置登录前显示IP
    用indexOf方法实现 数组去重
    easyui datagrid checkbox 禁止点击方法
    EasyUI常用图标
    Markdown基本语法
    百度地图标记
    Activity中的单击事件-------使用匿名内部类实现简单的跳转效果
    java.lang.ClassFormatError: Extra bytes at the end of class file quartz/loader/MyCalcSalary
    java.net.MalformedURLException: no !/ in spec
    Oracle 常见函数
  • 原文地址:https://www.cnblogs.com/xiao-bei/p/3989025.html
Copyright © 2020-2023  润新知