monaz / vt-php-api3
非官方的VirusTotal公共API v3.0的PHP客户端库
v0.1-beta
2022-04-14 00:22 UTC
Requires
- php: ^7.2|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.4
Requires (Dev)
- phpunit/phpunit: ^9.5.10
This package is auto-updated.
Last update: 2024-09-14 05:41:59 UTC
README
这是一个VirusTotal的非官方PHP客户端库。使用这个库,您可以与VirusTotal REST API v3交互,并快速高效地自动化您的流程。
这是Virus Total Public API v2.0 PHP Wrapper的升级版本。
您可以使用此SDK完成的事情
- 扫描文件和URL
- 获取有关文件、URL、域名等的详细信息
- 等等...
安装
- 您需要Composer (https://getcomposer.org.cn/)
- 使用以下命令搜索
vt-php-api3
,或访问Packagist上的包信息(https://packagist.org.cn/packages/monaz/vt-php-api3)
使用Composer安装,运行以下命令
composer require monaz/vt-php-api3
或者在您的composer.json中包含以下内容
{ "require": { "monaz/vt-php-api3": "dev-master" } }
然后运行
composer update
使用方法
<?php require_once 'Vendors/autoload.php'; $apiKey = 'your_api_key'; // Scan file $fileScanner = new \Monaz\VirusTotal\File($apiKey); $resp = $fileScanner->scan('foo.txt'); $result = $fileScanner->getReport($resp['hash']); // Scan Url $urlScanner = new \Monaz\VirusTotal\Url($apiKey); $resp = $urlScanner->scan('foo.txt'); $result = $urlScanner->getReport($resp['hash']); // Get Domain Report $domainScanner = new \Monaz\VirusTotal\Domain($apiKey); $result = $domainScanner->getReport("domain.com"); // Get IP Report $ipScanner = new \Monaz\VirusTotal\Ip($apiKey); $result = $ipScanner->getReport("1.1.1.1"); ?>
由于辅助扫描器没有封装所有可用的VirusTotal API端点,我们创建了请求辅助程序,您可以使用它们来直接发送请求。
<?php require_once 'Vendors/autoload.php'; $apiKey = 'your_api_key'; $baseClient = new \Monaz\VirusTotal\BaseClient($apiKey); $baseClient->makePostRequest("endpoint", $payload, $type); $baseClient->makeGetRequest("endpoint", $payload); $baseClient->makePatchRequest("endpoint", $payload); $baseClient->makeDeleteRequest("endpoint"); ?>
makePostRequest
中的$type
参数可以是form_data
和multipart
。您可以根据所需端点的VirusTotal API文档选择所需的参数。
贡献
感谢您考虑为库做出贡献!只需进行分支操作,完成后提交PR。只需确保在提交请求之前运行测试。
您可以使用以下命令运行phpunit测试
"vendor/bin/phpunit" --coverage-text --configuration phpunit.xml.dist tests
许可证
该库是开源软件,受MIT许可证许可。