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
(Objective-C) AbuseIPDB Check EndpointThe check endpoint accepts a single IP address (v4 or v6). Optionally you may set the maxAgeInDays parameter to only return reports within the last x amount of days. For more information, see https://docs.abuseipdb.com/?shell#check-endpoint
#import <CkoHttp.h> #import <CkoHttpRequest.h> #import <CkoHttpResponse.h> #import <CkoJsonObject.h> #import <NSString.h> // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoHttp *http = [[CkoHttp alloc] init]; BOOL success; // Implements the following CURL command: // curl -G https://api.abuseipdb.com/api/v2/check \ // --data-urlencode "ipAddress=118.25.6.39" \ // -d maxAgeInDays=90 \ // -d verbose \ // -H "Key: $YOUR_API_KEY" \ // -H "Accept: application/json" // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code CkoHttpRequest *req = [[CkoHttpRequest alloc] init]; req.HttpVerb = @"GET"; req.Path = @"/api/v2/check"; req.ContentType = @"application/x-www-form-urlencoded"; [req AddParam: @"maxAgeInDays" value: @"90"]; [req AddParam: @"verbose" value: @""]; [req AddParam: @"ipAddress" value: @"118.25.6.39"]; [req AddHeader: @"Key" value: @"$YOUR_API_KEY"]; [req AddHeader: @"Accept" value: @"application/json"]; CkoHttpResponse *resp = [http SynchronousRequest: @"api.abuseipdb.com" port: [NSNumber numberWithInt: 443] ssl: YES req: req]; if (http.LastMethodSuccess == NO) { NSLog(@"%@",http.LastErrorText); return; } CkoJsonObject *jResp = [[CkoJsonObject alloc] init]; [jResp Load: resp.BodyStr]; jResp.EmitCompact = NO; NSLog(@"%@",@"Response Body:"); NSLog(@"%@",[jResp Emit]); int respStatusCode = [resp.StatusCode intValue]; NSLog(@"%@%d",@"Response Status Code = ",respStatusCode); if (respStatusCode >= 400) { NSLog(@"%@",@"Response Header:"); NSLog(@"%@",resp.Header); NSLog(@"%@",@"Failed."); return; } // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "data": { // "ipAddress": "118.25.6.39", // "isPublic": true, // "ipVersion": 4, // "isWhitelisted": false, // "abuseConfidenceScore": 1, // "countryCode": "CN", // "usageType": "Data Center\/Web Hosting\/Transit", // "isp": "Tencent Cloud Computing (Beijing) Co. Ltd", // "domain": "tencent.com", // "hostnames": [ // ], // "countryName": "China", // "totalReports": 2, // "numDistinctUsers": 1, // "lastReportedAt": "2021-04-03T18:55:00+00:00", // "reports": [ // { // "reportedAt": "2021-03-10T10:07:53+00:00", // "comment": "SSH login attempts with user root.", // "categories": [ // 18, // 22 // ], // "reporterId": 54484, // "reporterCountryCode": "CN", // "reporterCountryName": "China" // }, // { // "reportedAt": "2021-03-09T09:47:57+00:00", // "comment": "SSH login attempts with user root.", // "categories": [ // 18, // 22 // ], // "reporterId": 54484, // "reporterCountryCode": "CN", // "reporterCountryName": "China" // } // ] // } // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON NSString *reportedAt = 0; NSString *comment = 0; int reporterId; NSString *reporterCountryCode = 0; NSString *reporterCountryName = 0; int j; int count_j; int intVal; NSString *dataIpAddress = [jResp StringOf: @"data.ipAddress"]; BOOL dataIsPublic = [jResp BoolOf: @"data.isPublic"]; int dataIpVersion = [[jResp IntOf: @"data.ipVersion"] intValue]; BOOL dataIsWhitelisted = [jResp BoolOf: @"data.isWhitelisted"]; int dataAbuseConfidenceScore = [[jResp IntOf: @"data.abuseConfidenceScore"] intValue]; NSString *dataCountryCode = [jResp StringOf: @"data.countryCode"]; NSString *dataUsageType = [jResp StringOf: @"data.usageType"]; NSString *dataIsp = [jResp StringOf: @"data.isp"]; NSString *dataDomain = [jResp StringOf: @"data.domain"]; NSString *dataCountryName = [jResp StringOf: @"data.countryName"]; int dataTotalReports = [[jResp IntOf: @"data.totalReports"] intValue]; int dataNumDistinctUsers = [[jResp IntOf: @"data.numDistinctUsers"] intValue]; NSString *dataLastReportedAt = [jResp StringOf: @"data.lastReportedAt"]; int i = 0; int count_i = [[jResp SizeOfArray: @"data.hostnames"] intValue]; while (i < count_i) { jResp.I = [NSNumber numberWithInt: i]; i = i + 1; } i = 0; count_i = [[jResp SizeOfArray: @"data.reports"] intValue]; while (i < count_i) { jResp.I = [NSNumber numberWithInt: i]; reportedAt = [jResp StringOf: @"data.reports[i].reportedAt"]; comment = [jResp StringOf: @"data.reports[i].comment"]; reporterId = [[jResp IntOf: @"data.reports[i].reporterId"] intValue]; reporterCountryCode = [jResp StringOf: @"data.reports[i].reporterCountryCode"]; reporterCountryName = [jResp StringOf: @"data.reports[i].reporterCountryName"]; j = 0; count_j = [[jResp SizeOfArray: @"data.reports[i].categories"] intValue]; while (j < count_j) { jResp.J = [NSNumber numberWithInt: j]; intVal = [[jResp IntOf: @"data.reports[i].categories[j]"] intValue]; j = j + 1; } i = i + 1; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.