本文介绍如何使用PHP SDK网页审核接口,检测网页中的文字和图片信息。

功能描述

图片审核支持同步检测和异步检测两种方式。

  • 同步检测实时返回检测结果。关于参数的详细信息,请参见网页同步检测
  • 异步检测需要您轮询结果或者通过callback回调通知获取检测结果。关于参数的详细信息,请参见网页异步检测

前提条件

已安装PHP依赖。关于安装PHP依赖的具体操作,请参见安装PHP依赖
说明 请一定按照安装PHP依赖页面中的版本安装,否则会导致调用失败。

提交网页同步检测任务

接口 描述 支持的地域
WebpageSyncScanRequest 提交网页同步检测任务,对网页中的文字和图片进行检测。
  • cn-shanghai:华东2(上海)
  • cn-beijing:华北2(北京)
示例代码
<?php

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Green\Green;

try {
    // 请替换成您的AccessKey ID、AccessKey Secret。
    AlibabaCloud::accessKeyClient('您的AccessKey ID', '您的AccessKey Secret')
        ->regionId('cn-shanghai')
        ->asDefaultClient();

    /**
     * textScenes:检测内容包含文本时,指定检测场景,取值:antispam。
     * imageScenes:检测内容包含图片时,指定检测场景。
     */
    $result = Green::v20180509()->webpageSyncScan()
        ->body(json_encode(array('textScenes' => array('antispam'),
            'imageScenes' => array('porn'),
            'tasks' => array(array('dataId' => '业务数据ID', 'url' => '待检测网页链接'))
        )))
        ->request();
    print_r($result->toArray());
} catch (ClientException $exception) {
    echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode() . PHP_EOL;
    echo $exception->getRequestId() . PHP_EOL;
    echo $exception->getErrorMessage() . PHP_EOL;
}

提交网页异步检测任务

接口 描述 支持的Region
WebpageAsyncScanRequest 提交网页异步检测任务,对网页中的文字和图片进行检测。
  • cn-shanghai:华东2(上海)
  • cn-beijing:华北2(北京)
示例代码
<?php

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Green\Green;

try {
    // 请替换成您的AccessKey ID、AccessKey Secret。
    AlibabaCloud::accessKeyClient('您的AccessKey ID', '您的AccessKey Secret')
        ->regionId('cn-shanghai')
        ->asDefaultClient();

    /**
     * textScenes:检测内容包含文本时,指定检测场景,取值:antispam。
     * imageScenes:检测内容包含图片时,指定检测场景。
     */
    $result = Green::v20180509()->webpageAsyncScan()
        ->body(json_encode(array('textScenes' => array('antispam'),
            'imageScenes' => array('porn'),
            'tasks' => array(array('dataId' => '业务数据ID', 'url' => '待检测网页链接'))
        )))
        ->request();
    print_r($result->toArray());
} catch (ClientException $exception) {
    echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode() . PHP_EOL;
    echo $exception->getRequestId() . PHP_EOL;
    echo $exception->getErrorMessage() . PHP_EOL;
}

获取网页异步检测任务结果

接口 描述 支持的Region
WebpageAsyncScanResultsRequest 获取网页异步检测结果。
  • cn-shanghai:华东2(上海)
  • cn-beijing:华北2(北京)
示例代码
<?php

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Green\Green;

try {
    // 请替换成您的AccessKey ID、AccessKey Secret。
    AlibabaCloud::accessKeyClient('您的AccessKey ID', '您的AccessKey Secret')
        ->regionId('cn-shanghai')
        ->asDefaultClient();

    $result = Green::v20180509()->webpageAsyncScanResults()
        ->body(json_encode(array('网页异步检测任务ID')))
        ->request();
    print_r($result->toArray());
} catch (ClientException $exception) {
    echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode() . PHP_EOL;
    echo $exception->getRequestId() . PHP_EOL;
    echo $exception->getErrorMessage() . PHP_EOL;
}