C# 根据IP地址获取城市
2014-06-26 10:53
197 查看
using System; using System.IO; using System.Net; using System.Text; using System.Web.Script.Serialization; namespace IpUtils { public class IpDetail { public String Ret { get; set; } public String Start { get; set; } public String End { get; set; } public String Country { get; set; } public String Province { get; set; } public String City { get; set; } public String District { get; set; } public String Isp { get; set; } public String Type { get; set; } public String Desc { get; set; } } public class IpHelper { /// <summary> /// 获取IP地址的详细信息,调用的借口为 /// http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip={ip} /// </summary> /// <param name="ipAddress">请求分析得IP地址</param> /// <param name="sourceEncoding">服务器返回的编码类型</param> /// <returns>IpUtils.IpDetail</returns> public static IpDetail Get(String ipAddress,Encoding sourceEncoding) { String ip = string.Empty; if(sourceEncoding==null) sourceEncoding = Encoding.UTF8; using (var receiveStream = WebRequest.Create("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip="+ipAddress).GetResponse().GetResponseStream()) { using (var sr = new StreamReader(receiveStream, sourceEncoding)) { var readbuffer = new char[256]; int n = sr.Read(readbuffer, 0, readbuffer.Length); int realLen = 0; while (n > 0) { realLen = n; n = sr.Read(readbuffer, 0, readbuffer.Length); } ip = sourceEncoding.GetString(sourceEncoding.GetBytes(readbuffer, 0, realLen)); } } return !string.IsNullOrEmpty(ip)?new JavaScriptSerializer().Deserialize<IpDetail>(ip):null; } } public class EncodingHelper { public static String GetString(Encoding source, Encoding dest, String soureStr) { return dest.GetString(Encoding.Convert(source, dest, source.GetBytes(soureStr))); } public static String GetString(Encoding source, Encoding dest, Char[] soureCharArr, int offset, int len) { return dest.GetString(Encoding.Convert(source, dest, source.GetBytes(soureCharArr, offset, len))); } } }
IpHelper
.NET技术交流群 199281001 .欢迎加入。
相关文章推荐
- C#根据IP地址获取城市
- 根据IP地址获取所在城市
- PHP 根据IP地址获取所在城市
- js根据ip地址获取所在城市
- Android 根据IP地址获取城市
- PHP获取IP地址及根据IP判断城市实…
- 根据IP地址获取所在城市信息
- C# 解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市
- PHP获取IP地址及根据IP判断城市实现城市切换或跳转
- [置顶] js根据ip地址获取所在城市
- 根据IP地址获取所在城市【通过新浪接口】
- PHP根据IP地址获取所在城市具体实现
- PHP:根据IP地址获取所在城市
- C#实现解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市的方法
- 根据IP地址获取所在城市
- 根据Ip地址获取城市名
- PHP根据IP地址获取所在城市具体实现
- PHP根据IP地址获取所在城市具体实现
- PHP 根据IP地址获取所在城市
- PHP 根据IP地址获取所在城市