/// <summary>
/// 通过淘宝提供的接口查询IP所属地区,ip地址库只能精确到市一级。县级的统一归到市一级
/// </summary>
public class IPQueryByTaobao
{
private string url = "http://ip.taobao.com/service/getIpInfo.php?ip=";
public TaobaoData GetArea(string ip)
{
string areaJson;
TaobaoData theData;
try
{
//创建请求
WebRequest request = WebRequest.Create(url + ip);
//发送请求,获取相应
WebResponse response = request.GetResponse();
using (Stream stream = response.GetResponseStream()) //获取响应的数据流
{
using (StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("utf-8"))) //指定的数据流初始化为StreamReader 类
{
areaJson = reader.ReadToEnd(); //读取数据流中的所有字符
theData = JSONHelper.JSONToObject<TaobaoData>(areaJson);
if (theData.code == "1") //表示获取数据失败
{
return null;
}
return theData;
}
}
}
catch
{
return null;
}
}
}
/// <summary>
/// ip数据
/// </summary>
public class IPData
{
/// <summary>
/// 国家
/// </summary>
public string country { get; set; }
public string country_id { get; set; }
/// <summary>
/// 区域
/// </summary>
public string area { get; set; }
public string area_id { get; set; }
/// <summary>
/// 省
/// </summary>
public string region { get; set; }
public string region_id { get; set; }
/// <summary>
/// 市
/// </summary>
public string city { get; set; }
public string city_id { get; set; }
/// <summary>
/// 县
/// </summary>
public string county { get; set; }
public string county_id { get; set; }
/// <summary>
/// isp
/// </summary>
public string isp { get; set; }
public string isp_id { get; set; }
/// <summary>
/// ip
/// </summary>
public string ip { get; set; }
}
/// <summary>
/// 淘宝数据
/// </summary>
public class TaobaoData
{
public string code { get; set; }
public IPData data { get; set; }
}
通过淘宝的ip地址库获取ip地址通用类的实现(C#版)
最新推荐文章于 2024-06-05 08:35:05 发布