0

0

PHP怎么用网易易盾AI_提交文本检测风险获审核结果【说明】

星夢妙者

星夢妙者

发布时间:2026-01-15 12:03:09

|

880人浏览过

|

来源于php中文网

原创

必须通过服务端发起HTTP请求调用网易易盾文本检测API,使用POST提交JSON数据并携带HMAC-SHA1签名的X-YD-Signature请求头;签名需按POST\ncontent-type\ntimestamp\nrequest-path\nbody-md5格式拼接后计算,timestamp为毫秒级且偏差≤5分钟,content-type须严格为application/json; charset=utf-8,body-md5为JSON字符串的MD5小写值。

php怎么用网易易盾ai_提交文本检测风险获审核结果【说明】

怎么调用网易易盾文本检测 API 获取审核结果

网易易盾的文本风险检测不是纯客户端 SDK,必须通过服务端发起 HTTP 请求,使用 POST 提交 JSON 数据到指定接口,并携带有效签名。直接在前端用 JS 调用会暴露密钥,不可行。

关键步骤:获取 secretIdsecretKey → 拼接待签名字符串 → 生成 HMAC-SHA1 签名 → 构造请求头 X-YD-SignatureX-YD-Timestamp → 发起请求。

  • 接口地址通常是:https://www.php.cn/link/1f58b5ce3e6444b0f94cdccab62090a2/v1/text/check(以控制台实际为准)
  • 必须使用 Content-Type: application/json; charset=utf-8
  • timestamp 必须是毫秒级 Unix 时间戳,且与服务器时间偏差不能超过 5 分钟,否则返回 401 Unauthorized
  • 文本内容需放在 data 字段中,且长度不能超过 10000 字符(超长需分段)

PHP 中怎么生成合法的 X-YD-Signature 签名

易盾要求签名基于 HMAC-SHA1,但和常见签名不同:它对「拼接后的原始字符串」做哈希,而非对 URL 编码后参数排序再拼。容易在这里出错。

原始签名串格式为:POST\n<code>content-type\ntimestamp\nrequest-path\nbody-md5,其中 body-md5 是请求体(JSON 字符串)的 MD5 小写值。

立即学习PHP免费学习笔记(深入)”;

天工大模型
天工大模型

中国首个对标ChatGPT的双千亿级大语言模型

下载
  • content-type 必须严格为 application/json; charset=utf-8(注意空格和分号)
  • request-path 是接口路径,不含域名和查询参数,例如 /v1/text/check
  • PHP 中用 hash_hmac('sha1', $signStr, $secretKey, true) 得到二进制签名,再 base64_encode() 输出
  • 别漏掉换行符 \n —— 每一行末尾都要有,共 5 行,最后一行也有 \n

PHP 示例:提交文本并解析返回结果

以下是最简可用的同步检测代码,已避开常见空数组、编码、签名失败问题:

<?php
$secretId = 'your_secret_id_here';
$secretKey = 'your_secret_key_here';
$text = '这个商品支持七天无理由退货,假一赔十!';
<p>$timestamp = round(microtime(true) * 1000);
$path = '/v1/text/check';
$body = json_encode([
'secretId' => $secretId,
'data' => $text,
'dataType' => 1, // 1=文本
], JSON_UNESCAPED_UNICODE);</p><p>$bodyMd5 = md5($body);
$contentType = 'application/json; charset=utf-8';
$signStr = "POST\n{$contentType}\n{$timestamp}\n{$path}\n{$bodyMd5}\n";
$signature = base64_encode(hash_hmac('sha1', $signStr, $secretKey, true));</p><p>$headers = [
'Content-Type: ' . $contentType,
'X-YD-Signature: ' . $signature,
'X-YD-Timestamp: ' . $timestamp,
'X-YD-SecretId: ' . $secretId,
];</p><p>$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '<a href="https://www.php.cn/link/1f58b5ce3e6444b0f94cdccab62090a2">https://www.php.cn/link/1f58b5ce3e6444b0f94cdccab62090a2</a>' . $path);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 生产环境应设为 true 并配置 CA</p><p>$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);</p><p>if ($httpCode === 200) {
$result = json_decode($response, true);
if (isset($result['code']) && $result['code'] === 200) {
echo "审核通过:" . ($result['result']['pass'] ? '是' : '否') . "\n";
echo "风险类型:" . implode(',', $result['result']['labels'] ?? []) . "\n";
} else {
echo "业务错误:" . ($result['msg'] ?? '未知错误') . "\n";
}
} else {
echo "HTTP 错误:{$httpCode}\n";
}
?>

返回结果里哪些字段真正有用

别只看 code === 200 就以为检测成功——那只是 API 调用没崩。真正要关注的是 result 下的结构:

  • result.pass:布尔值,true 表示未命中任何风险策略(非 100% 安全,仅表示当前规则未触发)
  • result.labels:数组,每个元素含 label(风险大类,如 100 表涉政)、level(1=轻度,2=中度,3=严重)
  • result.suggestion:建议操作,pass/review/reject,比 pass 字段更贴近人工审核逻辑
  • 如果 result 为空或缺失,大概率是文本过短、含非法字符、或被风控拦截(比如高频调用没加 callback

注意:易盾不保证实时返回全部 label,部分场景(如新词、上下文强依赖)可能返回 review 并附带空 labels,这时不能跳过人工复审。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

456

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

547

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

335

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

82

2025.09.10

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

760

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

221

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1566

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

649

2023.11.24

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.4万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号