使用PHP SDK对图片进行风险检测,检测结果通过ImageAsyncScanResultsRequest接口轮询。

接口描述

ImageAsyncScanRequest
功能 支持的Region 描述
异步图片风险检测 cn-shanghaicn-beijing 对图片进行多个风险场景的识别,包括色情、暴恐敏感、文字的识别、指定人脸、图片广告、图片二维码识别。
说明
需要配合ImageAsyncScanResultsRequest接口来轮询检测结果。

调用示例

关于调用请求中的检测场景参数 scene,返回结果中的分类参数 label,以及操作建议参数 suggestion的说明,请参考SDK 调用参数说明
<?php
include_once 'aliyuncs/aliyun-php-sdk-core/Config.php';
use Green\Request\V20180509 as Green;
date_default_timezone_set("PRC");
// 请替换成您自己的accessKeyId、accessKeySecret
$iClientProfile = DefaultProfile::getProfile("cn-shanghai", "您的accessKeyId", "您的accessKeySecret"); 
DefaultProfile::addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
$client = new DefaultAcsClient($iClientProfile);
$request = new Green\ImageAsyncScanRequest();
$request->setMethod("POST");
$request->setAcceptFormat("JSON");
$task1 = array('dataId' =>  uniqid(),
    'url' => 'http://xxx.jpg',
    'time' => round(microtime(true)*1000)
);
// 支持的场景有:porn(色情)、terrorism(暴恐)、qrcode(二维码)、ad(图片广告)、 ocr(文字识别)
$request->setContent(json_encode(array("tasks" => array($task1),
    "scenes" => array("porn"))));
try {
    $response = $client->getAcsResponse($request);
    print_r($response);
    if(200 == $response->code){
        $taskResults = $response->data;
        foreach ($taskResults as $taskResult) {
            if(200 == $taskResult->code){
                $taskId = $taskResult->taskId;
                print_r($taskId);
                // 将taskId保存下来,间隔一段时间来轮询结果。具体请参照ImageAsyncScanResultsRequest接口说明
            }else{
                print_r("task process fail:" + $response->code);
            }
        }
    }else{
        print_r("detect not success. code:" + $response->code);
    }
} catch (Exception $e) {
    print_r($e);
}