C# 根据IP获取省市

 1 /// <summary>
 2 
 3         /// 根据IP获取省市
 4 
 5         /// </summary>
 6 
 7         public void GetAddressByIp()
 8 
 9         {
10 
11             string ip = "115.193.217.249";
12 
13             string PostUrl = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=" + ip;
14 
15             string res = GetDataByPost(PostUrl);//该条请求返回的数据为:res=1\t115.193.210.0\t115.194.201.255\t中国\t浙江\t杭州\t电信
16 
17 
18             string[] arr = getAreaInfoList(res);
19 
20         }
 1 /// <summary>
 2 
 3         /// Post请求数据
 4 
 5         /// </summary>
 6 
 7         /// <param name="url"></param>
 8 
 9         /// <returns></returns>
10 
11         public string GetDataByPost(string url)
12 
13         {
14 
15             HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
16 
17             string s = "anything";
18 
19             byte[] requestBytes = System.Text.Encoding.ASCII.GetBytes(s);
20 
21             req.Method = "POST";
22 
23             req.ContentType = "application/x-www-form-urlencoded";
24 
25             req.ContentLength = requestBytes.Length;
26 
27             Stream requestStream = req.GetRequestStream();
28 
29             requestStream.Write(requestBytes, 0, requestBytes.Length);
30 
31             requestStream.Close();
32 
33 
34             HttpWebResponse res = (HttpWebResponse)req.GetResponse();
35 
36             StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);
37 
38             string backstr = sr.ReadToEnd();
39 
40             sr.Close();
41 
42             res.Close();
43 
44             return backstr;
45 
46         }
 1  /// <summary>
 2 
 3         /// 处理所要的数据
 4 
 5         /// </summary>
 6 
 7         /// <param name="ip"></param>
 8 
 9         /// <returns></returns>
10 
11         public static string[] getAreaInfoList(string ipData)
12 
13         {
14 
15             //1\t115.193.210.0\t115.194.201.255\t中国\t浙江\t杭州\t电信
16 
17             string[] areaArr = new string[10];
18 
19             string[] newAreaArr = new string[2];
20 
21             try
22 
23             {
24 
25                 //取所要的数据,这里只取省市
26 
27                 areaArr = ipData.Split('\t');
28 
29                 newAreaArr[0] = areaArr[4];//
30 
31                 newAreaArr[1] = areaArr[5];//
32 
33             }
34 
35             catch (Exception e)
36 
37             {
38 
39                 // TODO: handle exception
40 
41             }
42 
43             return newAreaArr;
44 
45         }

 

posted @ 2016-08-04 15:24  IT_吴彦祖  阅读(488)  评论(0编辑  收藏  举报