栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

C#解析ip.ws.126.net的IP查询地区接口数据(使用正则表达式匹配获取所需数据)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#解析ip.ws.126.net的IP查询地区接口数据(使用正则表达式匹配获取所需数据)

1、先看一下接口地址: http://ip.ws.126.net/ipquery?ip=106.120.159.68 返回的数据如下:
var lo="北京市", lc="北京市"; var localAddress={city:"北京市", province:"北京市"}
2、使用正则表达式进行匹配,获取省份和城市
string url = "http://ip.ws.126.net/ipquery?ip=106.120.159.68";
string result="";
WebRequest wrt = null;
WebResponse wrp = null;
try
{
    wrt = WebRequest.Create(url);
    wrt.Credentials = CredentialCache.DefaultCredentials;
    wrp = wrt.GetResponse();
    StreamReader sr = new StreamReader(wrp.GetResponseStream(), Encoding.Default);
    string html = sr.ReadToEnd();
    string pattern = "{city:"(?.*?)", province:"(?.*?)"}";
    Regex regex = new Regex(pattern, RegexOptions.None);
    Match match = regex.Match(html);
    //城市
    string city= match.Groups["key1"].Value;
    //省份
    string province=match.Groups["key2"].Value;
}
catch (Exception){}
finally
{
if (wrp != null)
    wrp.Close();
if (wrt != null)
    wrt.Abort();
}
正则表达式的写法:

1、需要匹配获取的内容,使用(?.*?)代替,其中key为键。

2、双引号要用转义斜杠。

使用正则前:{city:"北京市", province:"北京市"} 使用正则后:{city:"(?.*?)", province:"(?.*?)"}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/908212.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号