monaz/vt-php-api3

非官方的VirusTotal公共API v3.0的PHP客户端库

v0.1-beta 2022-04-14 00:22 UTC

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安装,运行以下命令

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_datamultipart。您可以根据所需端点的VirusTotal API文档选择所需的参数。

贡献

感谢您考虑为库做出贡献!只需进行分支操作,完成后提交PR。只需确保在提交请求之前运行测试。

您可以使用以下命令运行phpunit测试

"vendor/bin/phpunit" --coverage-text --configuration phpunit.xml.dist tests

许可证

该库是开源软件,受MIT许可证许可。