IP地址查询API的C#实现
一切从登录记录开始
看到TX的登录记录之后,突然想去在登录环节也加上这个功能,然后就写了下面的具体实现代码。现在一点也不纠结IP在数据库中保存类型是UNSIGNED INT还是VARCHAR了。
干货来了哦_
using System.Net;
using System.Web;
using Newtonsoft.Json;
using System.Web.Script.Serialization;
namespace ConsoleApplication1
{
    public class IPToLocation
    {
        public IPLocation GetLocationByTB(string ip)
        {
            if (string.IsNullOrEmpty(ip))
                return null;
            var webClient = new WebClient();
            var entity = webClient.DownloadString(string.Format("http://ip.taobao.com/service/getIpInfo.php?ip={0}",ip));
            var json = new JavaScriptSerializer().Deserialize<dynamic>(entity);
            if (json == null || json["code"] == 1)
                return GetLocationBySina(ip);    //调用其它接口
            var data = new JavaScriptSerializer().Serialize(json["data"]);
            IPLocation model = JsonConvert.DeserializeObject<IPLocation>(data);
            return model;
        }
        public IPLocation GetLocationBySina(string ip)
        {
            // http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip={0}
            // 其它同上哦.
        }
    }
    [JsonObject]
    public class IPLocation
    {
        [JsonProperty]
        public string IP { get; set; }
        [JsonProperty]
        public string Country { get; set; }
        [JsonProperty]
        public string Country_Id { get; set; }
        [JsonProperty]
        public string Area { get; set; }
        [JsonProperty]
        ...
        ...
    }
}
												
											IP地址查询API的C#实现的更多相关文章
- 分享几个免费IP地址查询API接口
		
几个免费IP地址查询API接口 1.IP地址查询接口:http://apis.juhe.cn/ip/ip2addr要先去https://www.juhe.cn/docs/api/...申请APPKEY ...
 - 几个免费IP地址查询API接口
		
转:http://blog.csdn.net/ishxiao/article/details/52670242 -------------------------------------------- ...
 - API之IP地址查询---权威的IP地址查询接口集合
		
原文地址:http://yushine.iteye.com/blog/1717586 推荐实用IP138 http://www.baidu.com/s?wd=IP&rsv_spt=1& ...
 - [1]IP地址查询
		
今天起开始玩百度APIStore里面的免费API.以前用过的有12306的:数据.接口,有时间整理出来,12306的有点乱就是了.还有扇贝以及有道的API,之前用在留言板里自动翻译,公司用过百度地图以 ...
 - 齐全的IP地址查询接口及调用方法(转)
		
设计蜂巢IP地址查询接口:http://www.hujuntao.com/api/ip/ip.php 腾讯IP地址查询接口:http://fw.qq.com/ipaddress 新浪IP地址查询接口: ...
 - IP地址查询接口及调用方法
		
1.查询地址 搜狐IP地址查询接口(IP):http://pv.sohu.com/cityjson 1616 IP地址查询接口(IP+地址):http://w.1616.net/chaxun/ipto ...
 - IP地址查询接口
		
新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 新浪多地域测试方法:http://int.dpool. ...
 - 根据IP地址查询所在地
		
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Tex ...
 - Android中由IP地址查询经纬度坐标的实例
		
大家都知道,根据IP地址就可以知道它所在的具体位置,在Android中同样可以由IP地址得到它的位置,即具体的地理经纬度坐标. 本文就直接以代码的方式演示如何根据IP地址查询地理经纬度坐标位置,下面的 ...
 
随机推荐
- iOS  Vuforia:TextReco 增加自己的单词库
			
Vuforia的文字识别引擎提供了很好的文字识别功能.引擎依赖于UTF-8字符编码,现支持的字符有A-Z a-z,换行符.空格.单引号.短斜杠.Note:不支持中文及数字.能识别的字体是: ...
 - XMPP系列1:简介
			
通俗解释其实XMPP 是一种很类似于http协议的一种数据传输协议,它的过程就如同“解包装--〉包装”的过程,用户只需要明白它接收的类型,并理解它返回的类型,就可以很好的利用xmpp来进行数据通讯.系 ...
 - Android音频介绍
			
这个世界音频设备千变万化,Android也不可能为每种设备都提供支持.Android定义了一个框架,这个框架来适配底层的音频设备.该适配层的定义位于: hardware/libhardware_leg ...
 - 实现Android Studio JNI开发C/C++使用__android_log_print输出Log
			
相信很多人在刚开始学习Android JNI编程的时候,需要输出Log,在百度Google搜索的时候都是说需要在Android.mk中加入LOCAL_LDLIBS+= -L$(SYSROOT)/usr ...
 - [Aaronyang]谈谈2015年AY对WPF全面技术总结40多篇WPF,炫到没朋友的AYUI来了
			
原著:AY WPF博客- 把wpf推广出去,让那些鄙视的人说不 大家好! 我是AY,首先声明,我在做一件很枯燥的事情,我是个91后程序员,每天熬夜完成计划的过着下班后的生活. 那天有 ...
 - quick -- 创建精灵和动作
			
local imgBg = display.newSprite("666666.jpg") :pos(display.cx, display.cy) :addTo(self) , ...
 - 杀死O2O的三大杀手?!
			
0个O2O领域,20多个“已故”项目,三种不同的死因……记者糜丰.孙锋将O2O项目的一些固有问题分析得淋漓尽致! 这三个O2O杀手分别是:买不起的流量.承担不起的物流成本.惹不起的传统企业. 除了找钱 ...
 - Delphi 中 动态创建的Panel无法改变颜色的解决办法
			
刚开始代码如下: procedure TForm1.Button1Click(Sender: TObject); var Panel: TPanel; begin Panel := TPanel.Cr ...
 - gulp前端自动化构建工具使用
			
(1)新建项目目录gulp_web (2)项目目录下建目录src里面存放需要进行gulp处理的文件目录及文件 (3)gulpfile.js文件内容为声明需要打包应用的gulp组件及打包文件路径和打包任 ...
 - Android软件安全开发实践(下)
			
Android开发是当前最火的话题之一,但很少有人讨论这个领域的安全问题.本系列将分两期,探讨Android开发中常见的安全隐患和解决方案.第一期将从数据存储.网络通信.密码和认证策略这三个角度,带你 ...