Convert an IP address to a Country Location
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Chris Williams
am 6 Nov. 2013
Kommentiert: Cedric
am 7 Nov. 2013
Is there a way to convert a series of IP addresses to country locations?
0 Kommentare
Akzeptierte Antwort
Cedric
am 6 Nov. 2013
Bearbeitet: Cedric
am 6 Nov. 2013
One way to do it is to use some online API for IP identification. Here is an example: save the following function into your working dir..
function country = getCountryByIP( ipv4 )
url = sprintf( 'http://www.geoplugin.net/json.gp?ip=%s', ipv4 ) ;
buf = urlread( url ) ;
country = regexp( buf, '(?<=countryName":")[^"]*', 'match', 'once' ) ;
end
You can then use it as follows in your command window (or loop over a list of IPs)..
>> getCountryByIP( '216.236.14.34' )
ans =
United States
Note that there are dozen of websites which provide APIs for doing this (geoplugin.net, whatismyip.com, ipinfodb.com, hostip.info, etc) and you might find one which accepts a list of IPs as input and outputs a list of countries.
These APIs set a limit on the number of queries that you can send/get per second, and some are free only for a limited number of queries per hour or per day. Also, sending a query and getting the return from the server takes time (could take a few seconds). If you had millions of IPs to look up, using an API would therefore not be the best option, and you should rather implement a solution based on a local database of IPs/countries (e.g. hostip.info rsync).
0 Kommentare
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Call Web Services from MATLAB Using HTTP finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!