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

功能描述

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

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

前提条件

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

提交网页同步检测任务

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

import (
   "encoding/json"
   "fmt"
   "github.com/aliyun/alibaba-cloud-sdk-go/services/green"
   "strconv"
)

func main() {
   // 请替换成您的AccessKey ID、AccessKey Secret。
   client, err := green.NewClientWithAccessKey("cn-shanghai", "您的AccessKey ID", "您的AccessKey Secret")
   if err != nil {
      fmt.Println(err.Error())
      return
   }

   task := map[string]interface{}{"dataId": "检测数据ID", "url": "待检测网页地址链接地址"}
   content, _ := json.Marshal(
      map[string]interface{}{
         "textScenes": [...]string{"antispam"}, "imageScenes": [...]string{"porn", "terrorism"},
         "tasks": [...]map[string]interface{}{task}, "bizType": "业务场景",
      },
   )

   request := green.CreateWebpageSyncScanRequest()
   request.SetContent(content)
   response, _err := client.WebpageSyncScan(request)
   if _err != nil {
      fmt.Println(_err.Error())
      return
   }
   if response.GetHttpStatus() != 200 {
      fmt.Println("response not success. status:" + strconv.Itoa(response.GetHttpStatus()))
   }
   fmt.Println(response.GetHttpContentString())
}

提交网页异步检测任务

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

import (
   "encoding/json"
   "fmt"
   "github.com/aliyun/alibaba-cloud-sdk-go/services/green"
   "strconv"
)

func main() {
   // 请替换成您的AccessKey ID、AccessKey Secret。
   client, err := green.NewClientWithAccessKey("cn-shanghai", "您的AccessKey ID", "您的AccessKey Secret")
   if err != nil {
      fmt.Println(err.Error())
      return
   }

   task := map[string]interface{}{"dataId": "检测数据ID", "url": "待检测网页地址链接地址"}
   content, _ := json.Marshal(
      map[string]interface{}{
         "textScenes": [...]string{"antispam"}, "imageScenes": [...]string{"porn", "terrorism"},
         "tasks": [...]map[string]interface{}{task}, "bizType": "业务场景",
      },
   )

   request := green.CreateWebpageAsyncScanRequest()
   request.SetContent(content)
   response, _err := client.WebpageAsyncScan(request)
   if _err != nil {
      fmt.Println(_err.Error())
      return
   }
   if response.GetHttpStatus() != 200 {
      fmt.Println("response not success. status:" + strconv.Itoa(response.GetHttpStatus()))
   }
   fmt.Println(response.GetHttpContentString())
}

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

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

import (
   "encoding/json"
   "fmt"
   "github.com/aliyun/alibaba-cloud-sdk-go/services/green"
   "strconv"
)

func main() {
   // 请替换成您的AccessKey ID、AccessKey Secret。
   client, err := green.NewClientWithAccessKey("cn-shanghai", "您的AccessKey ID", "您的AccessKey Secret")
   if err != nil {
      fmt.Println(err.Error())
      return
   }

   content, _ := json.Marshal([...]string{"网页异步检测任务ID"})

   request := green.CreateWebpageAsyncScanResultsRequest()
   request.SetContent(content)
   response, _err := client.WebpageAsyncScanResults(request)
   if _err != nil {
      fmt.Println(_err.Error())
      return
   }
   if response.GetHttpStatus() != 200 {
      fmt.Println("response not success. status:" + strconv.Itoa(response.GetHttpStatus()))
   }
   fmt.Println(response.GetHttpContentString())
}