cxiは訪問者の実際のIPアドレス及び所在地地区(二)を取得する.
4243 ワード
Ip , Ip .
ここで、私はサードパーティのポジショニングサービスを使います.淘宝のIpアドレスライブラリです.タオバオのIpアドレスライブラリを呼び出すだけで所在地を調べることができます.
淘宝Ipアドレスライブラリリンク:
http://ip.aliyun.com/instructions.html
上の図では、私たちは呼び出したAPIアドレスと必要なパラメータとリターンのデータフォーマットが必要です.要求インターフェースアドレス:''http://ip.taobao.com/service/getIpInfo.php?ip=xxxx'IPアドレスだけを提供すればいいです.
戻りデータフォーマットでは、Jsonデータをエンティティクラスに変換する必要があります.
バックグラウンドコード:
第一歩:c铉遠隔でデータを要求する
:WebRequestHeler
public static class WebRequestHelper
{
///
/// Get
///
/// Get
///
public static string GetUrl(string url)
{
string resultstring = string.Empty;
Encoding encoding = Encoding.UTF8;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);// url
request.Method = "GET";
request.Accept = "text/html, application/xhtml+xml, */*";
request.ContentType = "application/json";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
resultstring = reader.ReadToEnd();
}
}
catch (Exception)
{
throw;
}
return resultstring;
}
}
... : .
public class IpAddressInfo
{
public int code { get; set; }
public DataList data { get; set; }
}
public class DataList
{
public string ip { get; set; }
public string country { get; set; }
public string area { get; set; }
public string region { get; set; }
public string city { get; set; }
public string county { get; set; }
public string isp { get; set; }
public string country_id { get; set; }
public string area_id { get; set; }
public string region_id { get; set; }
public string city_id { get; set; }
public string county_id { get; set; }
public string isp_id { get; set; }
}
: Json
public static class JsonHelper
{
///
/// Json
///
///
///
///
public static T StringToEnteity(string jsonStr) where T : class
{
try
{
return JsonConvert.DeserializeObject(jsonStr);
}
catch (Exception ex)
{
string error = ex.Message;
return null;
}
}
}
ステップ4:Ipによって本当のアドレスを取得する.// IP :120.79.252.67
string IpAddress = "120.79.252.67";// Ip
//
string url="http://ip.taobao.com/service/getIpInfo.php?ip="+IpAddress +"";
// Get
string strJson=WebRequestHelper.GetUrl(url);// Json
//
IpAddressInfo inf = JsonHelper.StringToEnteity(strJson);
//
// :
// :inf.data.country;
// :inf.data.region;
// :inf.data.city;
// ;inf.data.isp
原文の住所:http://www.zddblog.top/Home/Detail?art_id=Mjk=