色情已经是我们所不容然而却防不胜防的,尤其是对于做内容的工具和平台,
所以花了30分钟搭建了一个鉴黄平台,分享给大家。
本文使用的是 UCloud 提供的 UAI-Censor,
目前他支持图片,暴恐、涉政会陆续上线。
他提供了每日2000张免费调用额度,
所以无论对于测试还是小众的工具足够了。
一、使用如下链接注册账号
https://urlify.cn/UNjURr
二、创建 UAI-Censor 应用
获得应用 ID 进行鉴黄 API 调用的时候使用,注册成功以后进入控制台,搜索 UAI,然后点击 AI 内容审核
点击创建应用,输入自定义的应用名称,点击确定
点击确定以后会显示成功的弹框,高亮部分就是你的应用ID,留着备用
获取了,但是不能所有人都操作吧?
所有需要去注册一个公钥和私钥,这样只有你自己可以使用。
点击进入如下链接
https://console.ucloud.cn/uapi/apikey
点击显示即可查看公钥私钥了
到这里就是万事具备只欠东风
四、调用API
在编码之前我们可以手工调用一下 API 看下返回结果
如图所示,我们输入公钥、私钥和应用ID以后,
点击验证会返回一堆的 JSON 其实我们关心的就是 Result 里面的 Porn 的 Suggestion。
pass-放行, forbid-封禁, check-人工审核,
那么上面这个测试就是 pass 放行了。
等下,你居然不相信是吗?
这时候某 Hub 的资源就派上用场了,来一张。
那我们直接编码吧,代码也是非常的简单,
其中uaicensorPublicKey 和 uaicensorPrivateKey 是你自己的,
这里就不显示了,
因为使用的是 SpringBoot 项目,RestTemplate 用起来也是非常简单。/**
* @param imageUrl * @return pass-放行, forbid-封禁, check-人工审核
* @throws Exception */ public String check(String imageUrl) {
String ucloudUrl = “http://api.uai.ucloud.cn/v1/image/scan”;
String appId = “uaicensor-rjmvogpx”;
String uaicensorPublicKey = null;
String uaicensorPrivateKey = null;
//图片绝对路径 RestTemplate rest = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
/**
* 生成signature,首字母排序
*/ String timestamp = System.currentTimeMillis() + “”;
SortedMap packageParams = new TreeMap<>();
packageParams.put(“PublicKey”, uaicensorPublicKey);
packageParams.put(“ResourceId”, appId);
packageParams.put(“Timestamp”, timestamp);
packageParams.put(“Url”, imageUrl);
String signature = null;
try {
signature = UCloudUtil.createSign(packageParams, uaicensorPrivateKey);
} catch (Exception e) {
return null;
}
/**
* 参数
*/ MultiValueMap param = new LinkedMultiValueMap<>();
param.add(“Scenes”, “porn”);
param.add(“Method”, “url”);
param.add(“Url”, imageUrl);
/**
* headers 参数
*/ headers.setContentType(MediaType.parseMediaType(“multipart/form-data; charset=UTF-8”));
headers.set(“PublicKey”, uaicensorPublicKey);
headers.set(“Signature”, signature);
headers.set(“ResourceId”, appId);
headers.set(“Timestamp”, timestamp);
HttpEntity> httpEntity = new HttpEntity<>(param, headers);
ResponseEntity responseEntity = rest.exchange(ucloudUrl, HttpMethod.POST, httpEntity, String.class);
String body = responseEntity.getBody();
JSONObject jsonObject = JSON.parseObject(body);
if (jsonObject.getInteger(“RetCode”) == 0) {
String res = jsonObject.getJSONObject(“Result”).getJSONObject(“Porn”).getString(“Suggestion”);
return res;
}
return null;
}
是不是非常简单?那么开始你的探索之旅吧?
虽然以上是java代码实现,
但是原理是调用API,任何编程语言都可以去实现!
——来源:码匠笔记
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/38173.html