由于SDK调用需要收费,所以采用API调用,每天有50万次免费额度,直接复制就能用

一.开通账号服务

1.百度搜索阿里巴巴自然语言处理开放平台

2.登录后页面

3.获取AccessKey和Secret,()找到右上角头像后点击AccessKey管理)

4.自行开通需要的版本

二.代码部分

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import sun.misc.BASE64Encoder;
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import java.net.URI;
import java.net.URLEncoder;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;public class TestCloud {static String key = "xxx"; // 你自己账号对应的AccessKeystatic String secret = "xxx"; // 你自己账号对应的secretstatic String url = "http://alinlp.cn-hangzhou.aliyuncs.com/?";public static void main(String[] args) throws Exception {//根据自己的region更换String sortStr = buildSortedUrl(null);String sign = getSign(sortStr);String targetUrl = url  + sortStr + "&" + "Signature=" + sign ;// 创建Httpclient对象CloseableHttpClient httpclient = HttpClients.createDefault();String resultString = "";CloseableHttpResponse response = null;URIBuilder builder = new URIBuilder(targetUrl);URI uri = builder.build();// 创建http GET请求HttpGet httpGet = new HttpGet(uri);// 执行请求response = httpclient.execute(httpGet);// 判断返回状态是否为200if (response.getStatusLine().getStatusCode() == 200) {resultString = EntityUtils.toString(response.getEntity(), "UTF-8");}
//        JSONObject jsonObject = restTemplate.getForObject(URLDecoder.decode(targetUrl), JSONObject.class);System.out.println(resultString);}public static byte[] HmacSHA1Encrypt(String encryptText, String encryptKey) throws Exception {String MAC_NAME = "HmacSHA1";String ENCODING = "UTF-8";byte[] data=encryptKey.getBytes(ENCODING);//根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称SecretKey secretKey = new SecretKeySpec(data, MAC_NAME);//生成一个指定 Mac 算法 的 Mac 对象Mac mac = Mac.getInstance(MAC_NAME);//用给定密钥初始化 Mac 对象mac.init(secretKey);byte[] text = encryptText.getBytes(ENCODING);//完成 Mac 操作return mac.doFinal(text);}public static String encryptBASE64(byte[] key) {return (new BASE64Encoder()).encodeBuffer(key);}public static String getISO8601Timestamp(Date date){TimeZone tz = TimeZone.getTimeZone("UTC");DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");df.setTimeZone(tz);String nowAsISO = df.format(date);return nowAsISO;}public static String getSign(String sortUrl) throws Exception {String StringToSign = "GET&%2F&" + java.net.URLEncoder.encode(sortUrl);byte[] rlt = HmacSHA1Encrypt(StringToSign, secret + "&");String sig = encryptBASE64(rlt);sig = sig.replace("\r", "").replace("\n", "");sig = URLEncoder.encode(sig);return sig;}public static String buildSortedUrl(String nextPageToken){Map<String, String> map = new HashMap<>();map.put("Format","json");map.put("Version","2020-06-29");map.put("AccessKeyId",key);map.put("SignatureMethod","HMAC-SHA1");map.put("Timestamp", getISO8601Timestamp(new Date()));map.put("SignatureVersion", "1.0");map.put("SignatureNonce", UUID.randomUUID().toString().replace("-",""));map.put("Text", "深圳洗剪吹");map.put("TokenizerId", "GENERAL_CHN");/*** xxxx替换为你想要的处理方式* 中文分词: GetWsChGeneral* 词性标注: GetPosChGeneral* 命名实体类别: GetNerChEcom* 情感分析: GetSaChGeneral* 关键词提取: GetKeywordChEcom* 文本分类: GetTcChGeneral*/map.put("Action", "xxxx");map.put("ServiceCode", "alinlp");List<String> sortList = new ArrayList<>();for (String key : map.keySet()) {sortList.add(key);}sortList.sort(Comparator.naturalOrder());String sortStr = null;for(String key : sortList){String temp = URLEncoder.encode(key) + "=" + URLEncoder.encode(map.get(key));if(sortStr == null){sortStr = temp;}else{sortStr += "&" + temp;}}sortStr.replace("+","%20").replace("*","%2A").replace("%7E","~");return sortStr;}}

java调用阿里云NLP自然语言处理模型相关推荐

  1. Java调用阿里云OSS下载文件

    1.准备工作 具体细节参考Java调用阿里云oss_迷途知返-的博客-CSDN博客_java使用阿里云oss. 2.项目需求 我这里只需要根据文件名称把文件从oss下载下来即可,参考阿里云官网指导:下 ...

  2. Java调用阿里云短信接口,发送短信

    Java调用阿里云短信接口,发送短信 1.短信服务这个很简单,只需要知道accessKeyId(AK).accessKeySecret(SK).短信签名.短信模板即可. 2.域名和产品名称是固定的,使 ...

  3. 使用java调用阿里云车牌识别API

    实现车牌识别功能我采用调用阿里云车牌识别API的方法,我使用的是eclipse,jdk 1.8,Tomcat 9.0 1.进入阿里云主页先创建阿里云账号 2.在控制台的头像那里找到AccessKey管 ...

  4. java调用阿里云api发送短信验证服务

    1.先在maven构建需要的jar包 <dependency><groupId>com.aliyun</groupId><artifactId>aliy ...

  5. java调用阿里云短信服务器-发送短信

    首先注册购买阿里云短信服务器,具体步骤自行百度 代码 maven依赖 <!-- 阿里短信平台依赖 --><dependency><groupId>com.aliyu ...

  6. java调用阿里云实现短信推送

    1.注册阿里云并开通短信推送功能 2.创建密匙对,该密匙对是访问阿里SDK的钥匙 3.创建主题和订阅(也可以选择使用默认的)并获取endpoint 4.下载最新的SDK 5.新建java项目,把sdk ...

  7. java调用阿里云上传和下载(项目亲测)

    pom文件导入依赖就不贴了,直接到官网贴最新的就行:https://help.aliyun.com/document_detail/32009.html?spm=a2c4g.11186623.6.80 ...

  8. java 调用阿里云短信接口,报InvalidTimeStamp.Expired : Specified time stamp or date value is expired.

    首先官网是这样解释的  简单就是,自己的电脑(或者服务器) 的时间跟阿里云的服务器时间 想差 15分钟了, 解决方法就是 : 把自己的电脑时间 (或者服务器)的时间  改成标准的北京时间就行了.

  9. 阿里云NLP接口调用

    环境:win10  python3.6 利用python调用阿里云NLP接口,看阿里云官网的,写在这里备忘. # -*- coding: utf8 -*- import uuid import ali ...

最新文章

  1. ios模拟器快捷键操作
  2. 每日一皮:当我修复一个隐藏Bug时,陷入了死循环中....
  3. 并发编程-24 高并发处理手段之扩容思路 + 缓存思路
  4. nullnullC++ LANGUAGE TUTORIAL: CHARACTER ARRAYS...
  5. TCP/IP 学习 --- 2
  6. 清远工贸职业技术学校清远大学城网
  7. mysql 内存 256m_解决mySQL占用内存超大问题
  8. python-数据类型-字符串入门-定符串的定义-type函数-iput函数
  9. 不能忍!世界首富贝索斯发博文称遭”不雅照”威胁
  10. 关于3D Pie Chart (ActiveReport 4.2.0)的学习总结 (一)
  11. php smarty if,php Smarty中if,elseif,else用法详解
  12. PHP基础教程-54课-问题
  13. 凤凰系统运行linux,把凤凰系统装进U盘里,打造PC上的可移动android系统
  14. python lambda拉姆达表达式
  15. python判断正数和负数教案_(完整版)正数和负数教学设计
  16. PHP串行化与JSON
  17. html和css实现导航栏样式
  18. Mybatis分页插件配置
  19. Linux第二周学习笔记(13)
  20. Simulink 快速入门(一)--Simulink 模块图

热门文章

  1. 图片转CAD文件如何转换?这个方法get一下
  2. 什么是主服务协议MSA - Master Service Agreement
  3. 联想E440设置U盘启动的方法
  4. Thinkpad E440 windows 10 重装系统步骤记录
  5. 公众号文章写作平台有哪些
  6. ECU-TEST 快速入门
  7. Linux 图形化Git客户端
  8. 基于keras_vgg16的图像检索
  9. 什么是天使轮?什么是A轮融资?B轮融资?
  10. 干货分享|2018年微信公众号涨粉方案