A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

转自:http://www.ibcibc.com/thread-3494-1-1.html
通过IP获取归属地,例:用户登录时获取IP,在调用下面的方法,即可返回IP归属地
此方法是通过IP查询归属地网站的GET方式,发送请求IP,并使用正则表达式抓取返回的归属地

首先:引用命名空间:

using System.Net;
using System.IO;
using System.Text.RegularExpressions;

第二:代码

[C#] 纯文本查看 复制代码
  /// <summary>
        /// 获取IP归属地
        /// </summary>
        /// <param name="Ip">IP地址</param>
        /// <returns></returns>
        public string GetIpAddRess(string Ip)
        {
            WebRequest request = WebRequest.Create("http://www.ip138.com/ips138.asp?ip=" + Ip);
            WebResponse response = request.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
            string read = reader.ReadToEnd();
            Regex regex = new Regex("<td align=\"center\"><ul class=\"ul1\"><li>本站主数据:(?<title>.*?)</li>");
            if (regex.IsMatch(read))
            {
                read = regex.Match(read).Groups["title"].Value;
               
            }
            return read;

        }


仅仅这个方法就够了,在哪需要就在哪调用就行了,winform asp.net都能用

楼主做了个测试方法的winform
附件里是源码

WindowsFormsApplication2.rar

38.04 KB, 下载次数: 138

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马