class Program
{
static void Main(string[] args)
{
string ip = GetIP();
if (ip != null)
{
string city = GetCityByIP(ip);
Console.WriteLine("解析的城市名称为 = " + city);
}
Console.ReadKey();
} static string GetIP()
{
string result = GetWebContent("http://city.ip138.com/ip2city.asp");
if (result != null)
{
int start = result.IndexOf("[") + 1;
int end = result.LastIndexOf("]");
string ip = result.Substring(start, end - start);//找出ip
return ip;
}
return null;
} static string GetCityByIP(string ip)
{

        string url = "http://ip.taobao.com/service/getIpInfo.php?ip=" + ip;
        string content = GetWebContent(url);
        if (content != null)
        {
          JsonData res = JsonMapper.ToObject(content);
          if (res != null && res.Count == 2)
          {
            int status = Convert.ToInt32(res["code"].ToString());
            if (status == 0)
            {
              JsonData js = res["data"];
              string city = js["city"].ToString();
              return city;
            }
          }
        }
        return null;

}

  static string GetWebContent(string url)
{
try
{
System.Net.WebClient wc = new System.Net.WebClient();
wc.Credentials = System.Net.CredentialCache.DefaultCredentials;
return wc.DownloadString(url);
}
catch (Exception ex)
{
Console.WriteLine("GetWebContent 发生了错误:" + ex.Message);
return null;
}
}
}

获取ip地址以及获取城市等信息的更多相关文章

  1. 通过主机名(域名)获取IP地址,主机别名等信息

    一.所用API函数介绍 struct hostent FAR*gethostbyname( const char FAR* name ); 传入參数:const char FAR* name.主机名或 ...

  2. PHP中根据IP地址判断所在城市等信息

    本篇文章由:http://xinpure.com/php-based-on-information-such-as-the-ip-address-in-your-city/ 获得IP地址 在 PHP ...

  3. php 获取IP地址 并获取坐标lat lng 并获取到所在地区

    函数方法:ps:只能放在服务器上起效果,放在本地是无法起效果的 /* **根据ip获取坐标 ***/ function get_zuobiao(){ $user_IP = ($_SERVER[&quo ...

  4. java通过请求对象获取ip地址、获取ip地址

    /** * 获取登录ip */ public String getIp(){ HttpServletRequest request = this.getRequest(); String ip = & ...

  5. 获取ip地址及城市信息

    大家好,今天给大家分享的是一个简单的知识获取登录用户的ip地址及城市信息,lz是一个小白,如果有哪些错误的地方  欢迎大家指出 东西很简单,直接上代码 [HttpPost] public string ...

  6. Jsp调用淘宝IP地址库获取来访IP详细信息

    Jsp调用淘宝IP地址库获取来访IP详细信息   示例网页点击:www.trembler.cn/ipinfo/ipinfo(服务器有其他用处,页面已失效) String ip = request.ge ...

  7. js获取ip地址,操作系统,浏览器版本等信息,可兼容

    这次呢,说一下使用js获取用户电脑的ip信息,刚开始只是想获取用户ip,后来就顺带着获取了操作系统和浏览器信息. 先说下获取用户ip地址,包括像ipv4,ipv6,掩码等内容,但是大部分都要根据浏览器 ...

  8. thinkphp获取ip地址及位置信息

    ThinkPHP\Common\funcitons.php下有一个get_client_ip()能够获取ip地址 但是有时候不够准确 找到了下面一段来 function get_client_ip($ ...

  9. PHP 获取IP地址位置信息「聚合数据API」

    聚合数据 提供了[查询IP所属区域]的服务接口,只需要以 GET 请求的方式向 API 传入 IP地址 和 APPKEY 即可获得查询结果. 这里的难点主要在于如何通过PHP获取客户端IP地址,以及如 ...

随机推荐

  1. 相机姿态估计(Pose Estimation)

    (未完待续.....) 根据针孔相机模型,相机成像平面一点的像素坐标p和该点在世界坐标系下的3D坐标P有$p=KP$的关系,如果用齐次坐标表示则有: $$dp=KP$$ 其中d是空间点深度(为了将p的 ...

  2. 【luogu P2919 [USACO08NOV]守护农场Guarding the Farm】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2919 1.搜索的时候分清楚全局变量和局部变量的区别 2.排序优化搜索 #include <cstdio ...

  3. HTML5视频播放插件 video.js介绍

    video.js是一款很流行的html5视频播放插件.很适合在移动端播放视频(比如微信网页),功能强大,且支持降级到flash,兼容ie8.官网:http://videojs.com/    git& ...

  4. python3 基于tcp 简单client和server

    客户端代码 from socket import * #客户端 client=socket(AF_INET,SOCK_STREAM) #通讯地址 client.connect(('172.18.100 ...

  5. plsql误删除数据,提交事务后如何找回?

    select * from tbs_rep_template as of timestamp to_timestamp('2018-07-12 14:23:00', 'yyyy-mm-dd hh24: ...

  6. HDU 1411--校庆神秘建筑(欧拉四面体体积计算)

    校庆神秘建筑 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  7. SQL:登录、连接数据库基本操作

    使用MySQL 登录.连接数据库 win+R打开控制台,cmd进入控制台,输入mysql -u root -p,后输入密码,进入数据库: 首先可以查看原有的数据库,输入 show databases; ...

  8. 关于Django中JsonResponse返回中文字典编码错误的解决方案

    解决方案:JsonResponse(data, json_dumps_params={'ensure_ascii':False}) ! data是需要渲染的字典 def master(request) ...

  9. iOS 12 真机调试 Xcode 9 提示 Could not locate device support files.

    升级 iOS 12 之后,使用 Xcode 9 真机调试会提示错误: Could not locate device support files. This iPhone 6 Plus is runn ...

  10. 跨域详解之-----Jsonp跨域

    一.通过jsonp跨域 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的.但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的. 比如 ...