Проверка API2 abuseipdb с использованием php-cURL - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь использовать API-интерфейс abuseipdb для проверки репутации IP-адресов на моих почтовых серверах. Пример, приведенный в документации, касается только оболочки curl

. Проблема в том, что я не могу преобразовать оболочки curl --data-urlencode«ipAddress = 118.25.6.39» в переменную php-cURL GEt не работает, публикация запрещена, заголовки, содержащие IP-адрес, не принимаются> Все сбои с: «detail»: «Поле IP-адреса обязательно.", "статус ": 422

My Code:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.abuseipdb.com/api/v2/check?'.urlencode("ipAddress=127.0.0.2") );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$headers = array();
$headers[] = 'Key: <API-KEY>';
$headers[] = 'Accept: application/json';
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);

abuseipdb API2 Code:
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"

1 Ответ

0 голосов
/ 24 апреля 2019

это работает для меня.

//Setup
$api_key = 'REPLACE_YOUR_KEY';
$abuseipdb_endponint = 'https://api.abuseipdb.com/api/v2/check';
$ipToCheck = 'REPLACE_IP';

$headers =  array(
    'Key: ' . $api_key,
    'Accept: application/json'
);

//cURL Work
$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlObj, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curlObj, CURLOPT_URL, ($abuseipdb_endponint . '?ipAddress=' . $ipToCheck));            
curl_setopt($curlObj, CURLOPT_HTTPGET, 1);

$curl_response = curl_exec($curlObj);
print_r($curl_response);

curl_close($curlObj);

Пример ответа:

{"data":{"ipAddress":"79.127.127.253","isPublic":true,"ipVersion":4,"isWhitelisted":false,"abuseConfidenceScore":100,"countryCode":"IR","usageType":"Data Center\/Web Hosting\/Transit","isp":"AsiaTech Data Transfer Inc PLC","domain":"asiatech.ir","totalReports":80,"lastReportedAt":"2019-04-24T01:44:51+01:00"}}[Finished in 0.9s]
...