余小章 @ 大內聖殿
祕訣無它, 唯勤而已, by 余小章

导航

 

上篇是透過 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<string> list = GetPropertyName<IP2LocationOutput>();
    try
    {
        ipInput.IP = IpAddress;
        ipInput.LICENSE = "數字自己申請的Key";
        //取得Location資訊
        ipOutput = factory.IP2Location(ipInput);
    }
    catch
    {
        throw;
    }
    return ipOutput;
}


使用VS內建的DataSource,建立物件,使用方式參考http://www.dotblogs.com.tw/yc421206/archive/2011/10/21/44807.aspx

拖拉進來後就後產生BindingSource,以及控制項的資料繫結

image

所以我只要將取得得IP2LocationOutput 類別,塞給iP2LocationOutputBindingSource BindingSource就可以了

private void button1_Click(object sender, EventArgs e)
{
    IP2LocationOutput output = GetIp2LocationData("61.64.127.1");
    this.iP2LocationOutputBindingSource.DataSource = output;
}

執行結果如下

image

posted on 2011-12-27 15:20  余小章  阅读(190)  评论(0编辑  收藏  举报