C# 根据IP地址获取城市

 1 using System;
 2 using System.IO;
 3 using System.Net;
 4 using System.Text;
 5 using System.Web.Script.Serialization;
 6
 7 namespace IpUtils
 8 {
 9     public class IpDetail
10     {
11         public String Ret { get; set; }
12
13         public String Start { get; set; }
14
15         public String End { get; set; }
16
17         public String Country { get; set; }
18
19         public String Province { get; set; }
20
21         public String City { get; set; }
22
23         public String District { get; set; }
24
25         public String Isp { get; set; }
26
27         public String Type { get; set; }
28
29         public String Desc { get; set; }
30     }
31
32     public class IpHelper
33     {
34         /// <summary>
35         /// 获取IP地址的详细信息,调用的借口为
36         /// http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip={ip}
37         /// </summary>
38         /// <param name="ipAddress">请求分析得IP地址</param>
39         /// <param name="sourceEncoding">服务器返回的编码类型</param>
40         /// <returns>IpUtils.IpDetail</returns>
41         public static IpDetail Get(String ipAddress,Encoding sourceEncoding)
42         {
43             String ip = string.Empty;
44             if(sourceEncoding==null)
45                 sourceEncoding = Encoding.UTF8;
46             using (var receiveStream = WebRequest.Create("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip="+ipAddress).GetResponse().GetResponseStream())
47             {
48                 using (var sr = new StreamReader(receiveStream, sourceEncoding))
49                 {
50                     var readbuffer = new char[256];
51                     int n = sr.Read(readbuffer, 0, readbuffer.Length);
52                     int realLen = 0;
53                     while (n > 0)
54                     {
55                         realLen = n;
56                         n = sr.Read(readbuffer, 0, readbuffer.Length);
57                     }
58                     ip = sourceEncoding.GetString(sourceEncoding.GetBytes(readbuffer, 0, realLen));
59                 }
60             }
61             return  !string.IsNullOrEmpty(ip)?new JavaScriptSerializer().Deserialize<IpDetail>(ip):null;
62         }
63     }
64
65     public class EncodingHelper
66     {
67         public static String GetString(Encoding source, Encoding dest, String soureStr)
68         {
69             return dest.GetString(Encoding.Convert(source, dest, source.GetBytes(soureStr)));
70         }
71
72         public static String GetString(Encoding source, Encoding dest, Char[] soureCharArr, int offset, int len)
73         {
74             return dest.GetString(Encoding.Convert(source, dest, source.GetBytes(soureCharArr, offset, len)));
75         }
76     }
77 }

IpHelper

.NET技术交流群 199281001 .欢迎加入。

C# 根据IP地址获取城市

时间: 2024-10-10 01:49:38

C# 根据IP地址获取城市的相关文章

js根据ip地址获取城市地理位置

一.使用js根据ip获取地址位置 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script><script> var cityCode=returnCitySN.cid; document.write('<hr><br><h1> 老铁位置:'+JSON.stringify(returnCitySN)+'</h1>');</script&

php 通过 ip地址 进行城市定位

ip城市定位新浪接口: /** * 新浪ip 地址获取城市信息 */ //根据ip 地址获取所在城市信息 function getIPLoc_sina($queryIP){ $url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$queryIP; $ch = curl_init($url); curl_setopt($ch,CURLOPT_ENCODING ,'utf8'); curl_setopt

PHP 根据IP地址获取所在城市

有这样的需求,需要根据用户的IP地址,定位用户所在的城市. 本文记录性文章,无逻辑性.有这样需求的朋友,可以直接拷贝使用.直接上代码,不需赘述. <?php header('Content-Type:text/html;Charset=utf-8'); function GetIp(){ $realip = ''; $unknown = 'unknown'; if (isset($_SERVER)){ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) &&

js根据ip地址获取所在城市

话不多说,直接贴代码! 将这段代码运行一下就OK了: <html xmlns=""> <head runat="server"> <title>根据IP地址获取所在城市</title> <scriptsrc="?format=js"type="text/ecmascript"></script> <script type="text/jav

通过IP地址获取省份城市位置信息

private String mResult = null; private String mProvinceName; //省份 private String mChCityName; //城市 private int GET_CITY_SUCCESS = 1; private int GET_CITY_FAILURE = 2; //Handler接收到消息进行处理,取出需要的信息 privateHandler mHandler = new Handler() { public void ha

js通过IP地址获取所在城市

话不多说,直接贴代码! 将这段代码运行一下就OK了: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>根据IP地址获取所在城市</title> <scriptsrc="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"type

获取客户端IP地址定位城市信息

获取客户端IP地址定位城市信息 1.首先获取客户端的IP地址 function getIPaddress(){ $IPaddress=''; if (isset($_SERVER)){ if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){ $IPaddress = $_SERVER["HTTP_X_FORWARDED_FOR"]; } else if (isset($_SERVER["HTTP_CLIENT_IP&qu

JAVA根据IP地址获取详细的地域信息

在系统中网站的头部一般都有显示是哪个城市的用户进入到网站的首页后默认城市应该是用户本地的城市信息例如北京网站就要根据你的IP地址的信息查询数据获取北京部分的数据呵呵当然我可能描述的不是很清楚但是可以理解成通过IP地址定位地理信息就行.很多人现在使用以QQ数据库为基础获取地址信息但不完整.而且不规范.互联网提供很多其他接口可以完成这项功能. 接口如下 通过淘宝IP地址库获取IP位置 1. 请求接口GEThttp://ip.taobao.com/service/getIpInfo.php?ip=[i

根据IP地址获取用户的mac地址

根据实际需要可以使用以下的代码 获取MAC地址. /**  * 根据IP地址获取mac地址  * @param ipAddress 127.0.0.1  * @return  * @throws SocketException  * @throws UnknownHostException  */ public static String getLocalMac(String ipAddress) throws SocketException, UnknownHostException { //