Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Lianja) ipdata.co IPv4 Geolocation LookupSee more Geolocation ExamplesDemonstrates how to lookup Geolocation data for an IPv4 address using the ipdata.co API.
// This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loHttp = createobject("CkHttp") lcJsonStr = loHttp.QuickGetStr("https://api.ipdata.co/149.250.207.170?api-key=MY_API_KEY") if (loHttp.LastMethodSuccess = .F.) then ? loHttp.LastErrorText release loHttp return endif loJson = createobject("CkJsonObject") loJson.EmitCompact = .F. llSuccess = loJson.Load(lcJsonStr) ? loJson.Emit() // Sample output: // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON // { // "ip": "149.250.207.170", // "is_eu": true, // "city": null, // "region": null, // "region_code": null, // "country_name": "Germany", // "country_code": "DE", // "continent_name": "Europe", // "continent_code": "EU", // "latitude": 51.2993, // "longitude": 9.491, // "asn": "AS15854", // "organisation": "EntServ Deutschland GmbH", // "postal": null, // "calling_code": "49", // "flag": "https://ipdata.co/flags/de.png", // "emoji_flag": "\ud83c\udde9\ud83c\uddea", // "emoji_unicode": "U+1F1E9 U+1F1EA", // "languages": [ // { // "name": "German", // "native": "Deutsch" // } // ], // "currency": { // "name": "Euro", // "code": "EUR", // "symbol": "\u20ac", // "native": "\u20ac", // "plural": "euros" // }, // "time_zone": { // "name": "Europe/Berlin", // "abbr": "CEST", // "offset": "+0200", // "is_dst": true, // "current_time": "2019-04-20T23:54:30.715507+02:00" // }, // "threat": { // "is_tor": false, // "is_proxy": false, // "is_anonymous": false, // "is_known_attacker": false, // "is_known_abuser": false, // "is_threat": false, // "is_bogon": false // }, // "count": "2" // } lcIp = loJson.StringOf("ip") llIs_eu = loJson.BoolOf("is_eu") lcCity = loJson.StringOf("city") lcRegion = loJson.StringOf("region") lcRegion_code = loJson.StringOf("region_code") lcCountry_name = loJson.StringOf("country_name") lcCountry_code = loJson.StringOf("country_code") lcContinent_name = loJson.StringOf("continent_name") lcContinent_code = loJson.StringOf("continent_code") lcLatitude = loJson.StringOf("latitude") lcLongitude = loJson.StringOf("longitude") lcAsn = loJson.StringOf("asn") lcOrganisation = loJson.StringOf("organisation") lcPostal = loJson.StringOf("postal") lcCalling_code = loJson.StringOf("calling_code") lcFlag = loJson.StringOf("flag") lcEmoji_flag = loJson.StringOf("emoji_flag") lcEmoji_unicode = loJson.StringOf("emoji_unicode") lcCurrencyName = loJson.StringOf("currency.name") lcCurrencyCode = loJson.StringOf("currency.code") lcCurrencySymbol = loJson.StringOf("currency.symbol") lcCurrencyNative = loJson.StringOf("currency.native") lcCurrencyPlural = loJson.StringOf("currency.plural") lcTime_zoneName = loJson.StringOf("time_zone.name") lcTime_zoneAbbr = loJson.StringOf("time_zone.abbr") lcTime_zoneOffset = loJson.StringOf("time_zone.offset") llTime_zoneIs_dst = loJson.BoolOf("time_zone.is_dst") lcTime_zoneCurrent_time = loJson.StringOf("time_zone.current_time") llThreatIs_tor = loJson.BoolOf("threat.is_tor") llThreatIs_proxy = loJson.BoolOf("threat.is_proxy") llThreatIs_anonymous = loJson.BoolOf("threat.is_anonymous") llThreatIs_known_attacker = loJson.BoolOf("threat.is_known_attacker") llThreatIs_known_abuser = loJson.BoolOf("threat.is_known_abuser") llThreatIs_threat = loJson.BoolOf("threat.is_threat") llThreatIs_bogon = loJson.BoolOf("threat.is_bogon") lcCount = loJson.StringOf("count") i = 0 lnCount_i = loJson.SizeOfArray("languages") do while i < lnCount_i loJson.I = i lcName = loJson.StringOf("languages[i].name") lcNative = loJson.StringOf("languages[i].native") i = i + 1 enddo release loHttp release loJson |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.