[C#.NET][IP Location] 如何透过 FraudLabs Web Service 分析 IP Location

[C#.NET][IP Location] 如何透过 FraudLabs Web Service 分析 IP Location


上篇是透过 Json API [C#.NET] 如何利用 JSON API 分析 IP Location来处理IP Location,本篇则是利用 http://www.fraudlabs.com/default.aspx 所提供的 Web Service 来处理,它能取得的字段又更多,对于有需要的朋友是一大福音

IP2Location有三种版本Basic、Standard、Professional,不同的版本有不同的分析字段,每个版本可以有每月90次的试用。

开始前要先注册http://www.fraudlabs.com/userupdate.aspx,然后再取得Free License,注册时需要用到E-Mail,好像只能用公司Domain的E-Mail账号

image

image

PS.这还有许多其他的服务,有兴趣的人可以自己玩玩

下载使用手册

image

手册上有写着WS回传的字段是什么,以及版本的差异

image

还有WS的位置:http://v1.fraudlabs.com/ip2locationwebservice.asmx?wsdl

image

Sample Code:http://www.fraudlabs.com/ip2locationsamplecodes.aspx

image

image


接下来就来实践

开一个新的项目,引用WS

image

使用WS的Method取得资讯

public IP2LocationOutput GetIp2LocationData(string IpAddress)
{
    if (string.IsNullOrEmpty(IpAddress))
        throw new ArgumentNullException("IpAddress");
    IPAddress address;
    if (!IPAddress.TryParse(IpAddress, out address))
        throw new FormatException("IpAddress");

    IP2LocationWebService factory = new IP2LocationWebService();
    IP2LocationInput ipInput = new IP2LocationInput();
    IP2LocationOutput ipOutput = new IP2LocationOutput();
    List list = GetPropertyName();
    try
    {
        ipInput.IP = IpAddress;
        ipInput.LICENSE = "数字自己申请的Key";
        //取得Location资讯
        ipOutput = factory.IP2Location(ipInput);
    }
    catch
    {
        throw;
    }
    return ipOutput;
}

/font>/font>/font>/p>


使用VS内建的DataSource,建立对象,使用方式参考a title="http://www.dotblogs.com.tw/yc421206/archive/2011/10/21/44807.aspx" data-cke-saved-href="http://www.dotblogs.com.tw/yc421206/archive/2011/10/21/44807.aspx" href="http://www.dotblogs.com.tw/yc421206/archive/2011/10/21/44807.aspx">http://www.dotblogs.com.tw/yc421206/archive/2011/10/21/44807.aspx/a>/font>/font>/font>/p>

拖拉进来后就后产生BindingSource,以及控件的数据系结/font>/font>/font>/font>

image/a> /font>/font>/font>/p>

所以我只要将取得得IP2LocationOutput 类,塞给iP2LocationOutputBindingSource BindingSource就可以了/font>/font>/font>/font>

pre >privatevoidbutton1_Click(objectsender, EventArgs e) { IP2LocationOutput output = GetIp2LocationData("61.64.127.1"; thisiP2LocationOutputBindingSource.DataSource = output; }

执行结果如下/font>/font>/font>/font>/font>/font>

image/a>/font>/font>/font>/font>/font>/p>


]]>

若有谬误,烦请告知,新手发帖请多包涵

2010~2017 C# 第四季