bravo / checker_bl
PHP 类,用于服务 checkerbl.pro
dev-master
2017-06-04 15:32 UTC
This package is not auto-updated.
Last update: 2024-09-22 13:23:52 UTC
README
安装
Composer
从命令行
composer require bravo/checker_bl:dev-master
或在您的 composer.json
{
"require": {
"bravo/checker_bl": "dev-master"
}
}
基本使用
<?php
require 'vendor/autoload.php';
$checker = new CheckerBl\Task(':api_key');
$result = $checker->perform('ya.ru');
$result->link(); # => http://checkerbl.pro/bl_check/Dg25PX
$result->has_detects(); # => true
$result->has_detects('uribl'); # => true
$result->has_detects(['barracuda', 'sem_fresh']); # => false
$result->detects() # ['uribl']
$result->results();
/*
Array
(
[_sorbs_http] => false
[_sorbs_misc] => false
..........
[uribl] => true
[spamcop] => false
)
*/
日志记录
您可以将实现 Psr\Log\LoggerInterface 接口的 自己的 日志类传递给选项
<?php
$logger = new YourLogger('./logs', YourLogger::DEBUG);
$checker = new CheckerBl\Task(':api_key', array(
'logger' => $logger
));
延迟检查
<?php
# ........
$response = $checker->perform('ya.ru', 'later');
//... do stuff
do{
$response = $checker->get($response->id);
sleep(1);
}while($response->response_code()==206);
错误
当获取到状态码不等于 2**
时,将抛出异常
类名 | 描述 |
---|---|
CheckerBl\ThreadsLimitException | 当获取到状态码为 429 时 |
CheckerBl\UnProcessableException | 当获取到状态码为 422。有 getErrors() 方法,它包含错误数组。 |
CheckerBl\TimeoutException | 当获取到状态码为 408。有 getTaskId() 方法,它将返回创建的任务的 id 。 |
CheckerBl\UnAuthorizedException | 当获取到状态码为 401。 |
CheckerBl\ResponseError | 当获取到状态码不等于 2** 和上述所列状态码。 |
还有哪些内容?
如果查看服务的 API
,我们会看到以下内容
{
"bl_checker_task": {
"id": "pxjDgB",
"hostname": "example.com",
"resolved_ip": "93.184.216.34",
"results": [
{
"sys_name": "_sorbs_http",
"human_name": "SORBS HTTP",
"status": "clear"
},
{
"sys_name": "_sorbs_socks",
"human_name": "SORBS SOCKS",
"status": "dirty"
},
{
"sys_name": "sorbs_spam",
"human_name": "SORBS Spam",
"status": "check_error"
}
]
}
}
可以直接访问每个哈希键 bl_checker_task
,如下所示
<?php
# ....init
$response = $checker->perform('ya.ru');
$response->hostname; # => ya.ru
$reponse['hostname']; # => ya.ru
$response->id; # pxjDgB
$responee['id']; # pxjDgB
.......