C# 根据IP获取省市
/// <summary>
/// 根据IP获取省市
/// </summary>
public void GetAddressByIp()
{
string ip = "115.193.217.249";
string PostUrl = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=" + ip;
string res = GetDataByPost(PostUrl);//该条请求返回的数据为:res=1\t115.193.210.0\t115.194.201.255\t中国\t浙江\t杭州\t电信
string[] arr = getAreaInfoList(res);
}
/// <summary>
/// Post请求数据
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public string GetDataByPost(string url)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
string s = "anything";
byte[] requestBytes = System.Text.Encoding.ASCII.GetBytes(s);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = requestBytes.Length;
Stream requestStream = req.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Close();
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);
string backstr = sr.ReadToEnd();
sr.Close();
res.Close();
return backstr;
}
/// <summary>
/// 处理所要的数据
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public static string[] getAreaInfoList(string ipData)
{
//1\t115.193.210.0\t115.194.201.255\t中国\t浙江\t杭州\t电信
string[] areaArr = new string[10];
string[] newAreaArr = new string[2];
try
{
//取所要的数据,这里只取省市
areaArr = ipData.Split('\t');
newAreaArr[0] = areaArr[4];//省
newAreaArr[1] = areaArr[5];//市
}
catch (Exception e)
{
// TODO: handle exception
}
return newAreaArr;
}
- C#重写和覆写区别
- 【C#基础】(int),int.Parse,Convert.ToInt32三种转换的区别
- C#也能动态生成Word文档并填充数据
- LINQ数据查询 Resharper插件使用
- C#常用的命名规则汇总
- C# 实现打开和关闭可执行文件
- List和数组转换
- 《C#高级编程》读书笔记(十三):应用程序域
- C#环形缓冲区(队列)完全实现
- C# 控制台捕获关闭事件的代码
- C# FTP远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)
- c#——Winform TreeView 赋值(id,name,pid)类型数据
- C# 滚动字幕的实现
- c# 枚举
- C# DEV,treelist,实现分层及TreeList常用用法
- C#未将对象引用设置到对象的实例
- C# 创建、载入XML文件学习笔记
- C#实现文件增量备份
- C# using 三种使用方式
- C#识别验证码图片通用类(附源码下载)