腾讯ai人工智能(智障)-java版可直接运行

import cn.hutool.core.util.RandomUtil;
import cn.hutool.http.HttpRequest;
import org.springframework.util.DigestUtils;

import java.net.URLEncoder;
import java.util.*;

class Test1 {

    final static String APP_ID = "";//腾讯云AI的 的appid
    final static String APP_KEY = "";//腾讯云AI的 APP_KEY

    public static void main(String[] args) {
        Map<String,Object> map = new HashMap();
        map.put("app_id",APP_ID);
        map.put("time_stamp",String.valueOf(new Date().getTime()/1000));
        map.put("nonce_str", RandomUtil.simpleUUID());
        map.put("session",RandomUtil.randomNumbers(5));
        map.put("question","你是人工智障吗");
        String siges = formatUrlParam(map, "utf-8", false)+"&app_key="+APP_KEY;
        map.put("sign", DigestUtils.md5DigestAsHex(siges.getBytes()).toUpperCase());
        HttpRequest result2 = HttpRequest.post("https://api.ai.qq.com/fcgi-bin/nlp/nlp_textchat");
        result2.form(map);
        System.out.println(result2.execute().body());

    }

    //拼接url
    public static String formatUrlParam(Map<String, Object> param, String encode, boolean isLower) {
        String params = "";
        Map<String, Object> map = param;

        try {
            List<Map.Entry<String, String>> itmes = new ArrayList(map.entrySet());
            //对所有传入的参数按照字段名从小到大排序
            //Collections.sort(items); 默认正序
            //可通过实现Comparator接口的compare方法来完成自定义排序
            Collections.sort(itmes, new Comparator<Map.Entry<String, String>>() {
                @Override
                public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
                    // TODO Auto-generated method stub
                    return (o1.getKey().toString().compareTo(o2.getKey()));
                }
            });
            //构造URL 键值对的形式
            StringBuffer sb = new StringBuffer();
            for (Map.Entry<String, String> item : itmes) {
                if (item.getKey() != null && item.getKey()!="") {
                    String key = item.getKey();
                    String val = item.getValue();
                    val = URLEncoder.encode(val, encode);
                    if (isLower) {
                        sb.append(key.toLowerCase() + "=" + val);
                    } else {
                        sb.append(key + "=" + val);
                    }
                    sb.append("&");
                }
            }

            params = sb.toString();
            if (!params.isEmpty()) {
                params = params.substring(0, params.length() - 1);
            }
        } catch (Exception e) {
            return "";
        }
        return params;
    }

}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值