C#根據(jù)IP地址查詢所屬地區(qū)實例詳解
更新時間:2021年03月06日 16:14:32 作者:祝君圓夢
這篇文章主要介紹了C#根據(jù)IP地址查詢所屬地區(qū)實例詳解,調(diào)用的接口是免費的接口,有需要的同學可以研究下
ip-api.com接口(解析 json需要引入Newtonsoft.Json.dll ):
/// <summary>
/// 根據(jù)IP 獲取物理地址
/// </summary>
/// <param name="ip">Ip地址</param>
/// <returns></returns>
public static string GetIpAddress(string ip)
{
string url = "http://ip-api.com/json/"+ip+"?lang=zh-CN";
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.UTF8);
//獲取到的是Json數(shù)據(jù)
string html = sr.ReadToEnd();
//Newtonsoft.Json讀取數(shù)據(jù)
JObject obj = JsonConvert.DeserializeObject<JObject>(html);
string city = obj["city"].ToString();
string province = obj["regionName"].ToString();
result = city.Equals(province) ? city : (province + city);
}
catch (Exception)
{
}
finally
{
if (wrp != null)
wrp.Close();
if (wrt != null)
wrt.Abort();
}
return result;
}
126.net接口:
/// <summary>
/// 根據(jù)IP 獲取物理地址
/// </summary>
/// <param name="ip">Ip地址</param>
/// <returns></returns>
public static string GetstringIpAddress(string ip)
{
string url = "http://ip.ws.126.net/ipquery?ip="+ip;
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);
//獲取到的數(shù)據(jù)格式:var lo="江蘇省", lc="鎮(zhèn)江市"; var localAddress={city:"鎮(zhèn)江市", province:"江蘇省"}
string html = sr.ReadToEnd();
string pattern = "{city:\"(?<key1>.*?)\", province:\"(?<key2>.*?)\"}";
Regex regex = new Regex(pattern, RegexOptions.None);
Match match = regex.Match(html);
string city=match.Groups["key1"].Value;
string province=match.Groups["key2"].Value;
result = city.Equals(province) ? city : (province + city);
}
catch (Exception)
{
}
finally
{
if (wrp != null)
wrp.Close();
if (wrt != null)
wrt.Abort();
}
return result;
}
到此這篇關于C#根據(jù)IP地址查詢所屬地區(qū)實例詳解的文章就介紹到這了,更多相關C#根據(jù)IP地址查詢所屬地區(qū)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C# Distinct和重寫IEqualityComparer時要知道的二三事
這篇文章主要給大家介紹了關于C# Distinct和重寫IEqualityComparer時要知道的二三事,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-06-06
C#開發(fā)WinForm項目實現(xiàn)HTML編輯器
這篇文章介紹了C#開發(fā)WinForm項目實現(xiàn)HTML編輯器的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06

