当前位置: 首页 > article >正文

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

文章目录

  • 前言
  • 一、下载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


http://www.kler.cn/a/108396.html

相关文章:

  • 【C语言】实现二维数组按列排序
  • NPOI 实现Excel模板导出
  • linux病毒编写+vim shell编程
  • SSE与WebSocket与MQTT
  • STM32学习笔记-----UART的概念
  • sql分区
  • MAC安装stable diffusion
  • ES Module 认识
  • 给VSCode插上一双AI的翅膀
  • ThinkPHP6 多应用模式之验证码模块的配置与验证
  • Java中级面试题记录(四)
  • ThinkPad电脑HDMI接口失灵如何解决?
  • 工具箱:【1】简单的自动部署
  • 安全和便捷:如何将运营商二要素API应用于实名制管理中
  • 网络安全—小白自学
  • 数据结构和算法(15):排序
  • 【QT】对象树
  • 14. 机器学习 - KNN 贝叶斯
  • React-快速搭建开发环境
  • openpnp - 汇川伺服和冰沙主板的连接
  • 2023辽宁省赛E
  • MySQL篇---第六篇
  • 最新FL Studio 21.2中文版即将发布,2024年会有哪些新功能呢?
  • css overflow-x: scroll 滚动不展示/隐藏滚动条 /如何滚动
  • Lauterbach使用指南之RunTime功能
  • ROS自学笔记十七:Arbotix