abuseipdb API2 check using php-cURL



我正在尝试使用abuseipdb API2来检查我的电子邮件服务器的IP地址信誉文档中给出的示例仅涵盖 shell curl

问题是我无法将外壳卷发 --data-urlencode "ipAddress=118.25.6.39" 转换为 php-cURLGEt 变量不起作用,不允许发布,不接受包含 IP 地址的标头>全部失败,并显示:"详细信息":"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"
这对

我有用。

//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]

您可以使用它来获取详细数据,所有这些都在HTTP GET查询中。

$key = "key";
$ip = "1.1.1.1";
$data = file_get_contents("https://api.abuseipdb.com/api/v2/check?ipAddress=$ip&maxAgeInDays=90&verbose&key=$key");
var_dump($data);

最新更新