文章目录
- 前言
 - 一、下载sdk
 - 1.1 windows系统安装 composer
 - 1.2 使用composer安装阿里云sdk
 
- 二、新加php文件调用审核接口
 - 2.1、创建一个php文件
 
前言
最近有个非常简单的项目,需要对用户输入的文本进行内容审核,直接使用阿里云接口机审一下就OK了
阿里云文档:https://help.aliyun.com/document_detail/70439.html?spm=a2c4g.92548.0.0.7ea85651aMffox
费用好像是 7.5元/1w次,价格还是很实惠的(虽然这个好像也没啥技术含量)
一、下载sdk
参考:https://help.aliyun.com/document_detail/50180.html?spm=a2c4g.71095.0.0.2d981bfatck0Rt
可以直接去github下载源码,不过用起来很麻烦,推荐使用php工具composer下载自己需要的
1.1 windows系统安装 composer
composer中文网:https://pkg.xyz/#how-to-install-composer
 官方推荐使用php命令下载,放在不管用什么办法,搞到composer.phar这个文件就行
下载composer.phar文件后安装下图教程移动到php目录下
 
 如下图所示:
 
 配置全局变量

配置好了,在控制台输入
composer --version 
 
有版本号输出就OK了
1.2 使用composer安装阿里云sdk
先更新一下composer
composer clear-cache
composer update
 
找个空白目录进入命令行安装sdk
composer require alibabacloud/green
 
安装成功会有一个vendor文件夹,里面就是需要的代码
二、新加php文件调用审核接口
2.1、创建一个php文件
把官方代码copy进去,我自己稍微做了一点更改
 原版:https://help.aliyun.com/document_detail/312070.html?spm=a2c4g.311985.0.0.50ee4924n1ybRC
 
<?php
require_once 'vendor/autoload.php';
require_once 'vendor/alibabacloud/client/autoload.php';
require_once 'vendor/alibabacloud/green/Green.php';
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Green\Green;
try {
    $_text=Request::Get("text");
    if ($_text=='') {
        echo "参数不能为空!";
        return;
    }
    /**
     * 注意:此处实例化的client尽可能重复使用,提升检测性能。避免重复建立连接。
     * 常见获取环境变量方式:
     * 获取RAM用户AccessKey ID:getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
     * 获取RAM用户AccessKey Secret:getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
     */
    AlibabaCloud::accessKeyClient('【你的key】', '【你的key】')
        ->timeout(10) // 超时10秒,使用该客户端且没有单独设置的请求都使用此设置。
        ->connectTimeout(3) // 连接超时3秒,当单位小于1,则自动转换为毫秒,使用该客户端且没有单独设置的请求都使用此设置。
        ->regionId('cn-shanghai')
        ->asDefaultClient();
    $task1 = array('dataId' => time(), 'content' => $_text);
    //callback、seed:用于回调通知,可选参数。
    $response = Green::v20180509()->TextScan()
        ->timeout(10) // 超时10秒,request超时设置,仅对当前请求有效。
        ->connectTimeout(3) // 连接超时3秒,当单位小于1,则自动转换为毫秒,request超时设置,仅对当前请求有效。
        ->body(json_encode(array('tasks' => array($task1),
            'scenes' => 'antispam')))
        ->request();
    print_r(json_encode($response->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;
}
class Request{
	/// <summary>
	/// 接收传值
	/// </summary>
	/// <param name="varName">参数名称</param>
	/// <returns>参数对应的值</returns>
	static public function Get($varName,$isNullReturnNull=false)
	{
		if(isset($_GET[$varName])) { $_val = $_GET[$varName]; }
		else if(isset($_POST[$varName])) { $_val = $_POST[$varName]; }
		else { 
			if($isNullReturnNull){
				//if(array_key_exists($varName,$_REQUEST)) { return ""; } //说明存在这个参数
				//else{ return null; }
				return null;
			}
			else{ return ""; }
		}
		
        return $_val; 
	}
}
 
搭一个web服务器请求这个php文件就可以直接是用来
 php版本>=7.2



















