700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java阿里云文本反垃圾sdk调用详解

java阿里云文本反垃圾sdk调用详解

时间:2019-06-10 11:06:07

相关推荐

java阿里云文本反垃圾sdk调用详解

java阿里云文本反垃圾sdk调用

简介:java阿里云文本反垃圾是结合行为、内容,采用多维度、多模型、多检测手段,识别文本中的垃圾内容,规避色情、广告、灌水、渉政、辱骂等内容风险。文本反垃圾只有同步检测接口,您可以在一次请求中检测一条或者多条文本。

sdk调用流程:注册阿里云账号→创建RAM子账号→子账号授权→复制子账号的AccessKey ID&Access Key Secret→sdk&api调用

阿里云RAM子账号创建、授权、api文档详情查看

阿里云文本反垃圾接口详情及请求、返回参数详情查看

注意:调用阿里云接口的时候最容易出错的俩个地方1.AccessKey ID&Access Key Secret因为阿里云是主张接口调用都是给子账号权限然后用子账号的AccessKey ID&Access Key Secret来调用接口,所有我们复制这俩个参数的时候很容易复制成我们主账号的这俩参数去了,切记一定要复制子账号的这俩参数!!2.权限添加很多时候我们所有步骤都作对了就是连不通的原因,就是子账号的权限没给,如我现在要调文本反垃圾的接口但是我没给子账号这个权限是无论如何都调不通的切记!!

1.阿里云不仅提供了api还提供了sdk,有了sdk我们就方便多了,阿里云帮我们封装了所有的方法我们只需要复制粘贴就能用这些接口了,但是前提得注意我上面说的一些注意事项切记嗷java阿里云sdk地址

2.java文本反垃圾(同步)代码如下

@org.junit.Testpublic void aliyunTextCheck() throws Exception {IClientProfile profile = DefaultProfile.getProfile("你的regionId", "你的accessKeyId", "你的accessKeySecret");IAcsClient client = new DefaultAcsClient(profile);TextScanRequest textScanRequest = new TextScanRequest();textScanRequest.setAcceptFormat(FormatType.JSON); // 指定api返回格式textScanRequest.setHttpContentType(FormatType.JSON);textScanRequest.setMethod(com.aliyuncs.http.MethodType.POST); // 指定请求方法textScanRequest.setEncoding("UTF-8");textScanRequest.setRegionId("cn-shanghai");List<Map<String, Object>> tasks = new ArrayList<Map<String, Object>>();Map<String, Object> task1 = new LinkedHashMap<String, Object>();/*** 待检测的文本,长度不超过10000个字符*/task1.put("dataId", UUID.randomUUID().toString());task1.put("content", "test content");tasks.add(task1);JSONObject data = new JSONObject();/*** 检测场景,文本垃圾检测传递:antispam**/data.put("scenes", Arrays.asList("antispam"));data.put("tasks", tasks);System.out.println(JSON.toJSONString(data, true));textScanRequest.setHttpContent(data.toJSONString().getBytes("UTF-8"), "UTF-8", FormatType.JSON);// 请务必设置超时时间textScanRequest.setConnectTimeout(3000);textScanRequest.setReadTimeout(6000);try {HttpResponse httpResponse = client.doAction(textScanRequest);if (httpResponse.isSuccess()) {JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"));System.out.println(JSON.toJSONString(scrResponse, true));if (200 == scrResponse.getInteger("code")) {JSONArray taskResults = scrResponse.getJSONArray("data");for (Object taskResult : taskResults) {if (200 == ((JSONObject) taskResult).getInteger("code")) {JSONArray sceneResults = ((JSONObject) taskResult).getJSONArray("results");for (Object sceneResult : sceneResults) {String scene = ((JSONObject) sceneResult).getString("scene");String suggestion = ((JSONObject) sceneResult).getString("suggestion");//根据scene和suggetion做相关处理//suggestion == pass 未命中垃圾 suggestion == block 命中了垃圾,可以通过label字段查看命中的垃圾分类System.out.println("scene = [" + scene + "]");System.out.println("suggestion = [" + suggestion + "]");}} else {System.out.println("task process fail:" + ((JSONObject) taskResult).getInteger("code"));}}} else {System.out.println("detect not success. code:" + scrResponse.getInteger("code"));}} else {System.out.println("response not success. status:" + httpResponse.getStatus());}} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}

3.检测结果如下

{"scenes":["antispam"],"tasks":[{"dataId":"1baf084f-b052-4cae-8db9-4cc374eb1969","content":"test content"}]}{"msg":"OK","code":200,"data":[{"msg":"OK","code":200,"dataId":"1baf084f-b052-4cae-8db9-4cc374eb1969","results":[{"rate":99.91,"suggestion":"pass","label":"normal","scene":"antispam"}],"content":"test content","taskId":"txt7ezmSKsAHUh6ZNPADjNAGj-1r9Am9"}],"requestId":"F7CEB479-F5F3-45A9-BA6A-E14BCF82A4BA"}scene = [antispam]suggestion = [pass]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。