Get Started With IP2Proxy Erlang Module
Dependencies
This library requires IP2Proxy BIN database to function. You may download the BIN database at
IP2Proxy LITE BIN Data (Free): http://lite.ip2location.com
IP2Proxy Commercial BIN Data (Comprehensive): http://www.ip2location.com
Compilation
erlc ip2proxy.erl test.erl
Sample Codes
Query geolocation information from BIN database
You can query the geolocation information from the IP2Proxy BIN database as below:
-module(test).
-export([testme/0]).
printme(V) ->
case V of
{} ->
io:format("No results.~n", []);
{ip2proxyrecord, Country_short, Country_long, Region, City, Isp, Proxy_type, Domain, Usage_type, Asn, As, Last_seen, Threat, Provider, Is_proxy} ->
io:format("Country_short: ~p~n", [Country_short]),
io:format("Country_long: ~p~n", [Country_long]),
io:format("Region: ~p~n", [Region]),
io:format("City: ~p~n", [City]),
io:format("Isp: ~p~n", [Isp]),
io:format("Proxy_type: ~p~n", [Proxy_type]),
io:format("Domain: ~p~n", [Domain]),
io:format("Usage_type: ~p~n", [Usage_type]),
io:format("Asn: ~p~n", [Asn]),
io:format("As: ~p~n", [As]),
io:format("Last_seen: ~p~n", [Last_seen]),
io:format("Threat: ~p~n", [Threat]),
io:format("Provider: ~p~n", [Provider]),
io:format("Is_proxy: ~p~n", [Is_proxy])
end,
io:format("===================================================================~n", []).
testme() ->
X = "37.252.228.50",
case ip2proxy:open("./ip2proxy-testdata/IP2PROXY-IP-PROXYTYPE-COUNTRY-REGION-CITY-ISP-DOMAIN-USAGETYPE-ASN-LASTSEEN-THREAT-RESIDENTIAL-PROVIDER.BIN") of
0 ->
io:format("getpackageversion: ~p~n", [ip2proxy:getpackageversion()]),
io:format("getmoduleversion: ~p~n", [ip2proxy:getmoduleversion()]),
io:format("getdatabaseversion: ~p~n", [ip2proxy:getdatabaseversion()]),
V1 = ip2proxy:getall(X),
printme(V1),
io:format("Country_short: ~p~n", [ip2proxy:getcountryshort(X)]),
io:format("Country_long: ~p~n", [ip2proxy:getcountrylong(X)]),
io:format("Region: ~p~n", [ip2proxy:getregion(X)]),
io:format("City: ~p~n", [ip2proxy:getcity(X)]),
io:format("Isp: ~p~n", [ip2proxy:getisp(X)]),
io:format("Proxy_type: ~p~n", [ip2proxy:getproxytype(X)]),
io:format("Domain: ~p~n", [ip2proxy:getdomain(X)]),
io:format("Usage_type: ~p~n", [ip2proxy:getusagetype(X)]),
io:format("Asn: ~p~n", [ip2proxy:getasn(X)]),
io:format("AS: ~p~n", [ip2proxy:getas(X)]),
io:format("Last_seen: ~p~n", [ip2proxy:getlastseen(X)]),
io:format("Threat: ~p~n", [ip2proxy:getthreat(X)]),
io:format("Provider: ~p~n", [ip2proxy:getprovider(X)]),
io:format("Is_proxy: ~p~n", [ip2proxy:isproxy(X)]);
_ ->
io:format("Error reading BIN file~n", [])
end,
case ip2proxy:close() of
-1 ->
io:format("Error occurred~n", []);
_ ->
ok
end.
IP2Proxy Sample Database (BIN)
Sample Packages - BIN File | IPv4 + IPv6 |
---|---|
IP2Proxy PX1 | Download (391.66 kB) |
IP2Proxy PX2 | Download (406.53 kB) |
IP2Proxy PX3 | Download (435.82 kB) |
IP2Proxy PX4 | Download (471.49 kB) |
IP2Proxy PX5 | Download (491.37 kB) |
IP2Proxy PX6 | Download (493.92 kB) |
IP2Proxy PX7 | Download (534.57 kB) |
IP2Proxy PX8 | Download (540.70 kB) |
IP2Proxy PX9 | Download (541.56 kB) |
IP2Proxy PX10 | Download (677.91 kB) |
IP2Proxy PX11 | Download (684.40 kB) |
IP2Proxy PX12 | Download (687.12 kB) |