php使用阿里云文本内容检测openapi-sdk-php-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


前言

最近有个非常简单的项目需要对用户输入的文本进行内容审核直接使用阿里云接口机审一下就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 IDgetenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
     * 获取RAM用户AccessKey Secretgetenv("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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: php

“php使用阿里云文本内容检测openapi-sdk-php-CSDN博客” 的相关文章