欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

java实现小i机器人api接口调用示例

时间:2021-04-11 08:52:50|栏目:JAVA代码|点击:

复制代码 代码如下:

package com.weixin.util;

import java.io.IOException;
import java.util.Random;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.commons.lang.StringUtils;

public class XiaoI {
 private final static String APP_KEY = "*****";
 private final static String APP_SECRET = "****";

 public String Tess(String key, String names) {
  String realm = "xiaoi.com";
  String method = "POST";
  String uri = "/robot/ask.do";
  byte[] b = new byte[20];
  new Random().nextBytes(b);
  String nonce = new String(Hex.encodeHex(b));
  String HA1 = DigestUtils.shaHex(StringUtils.join(new String[] {
    APP_KEY, realm, APP_SECRET }, ":"));
  String HA2 = DigestUtils.shaHex(StringUtils.join(new String[] { method,
    uri }, ":"));
  String sign = DigestUtils.shaHex(StringUtils.join(new String[] { HA1,
    nonce, HA2 }, ":"));

  String str = null;

  HttpClient hc = new HttpClient();
  PostMethod pm = new PostMethod("http://nlp.xiaoi.com/robot/ask.do");
  pm.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,
    "utf-8");
  pm.addRequestHeader("X-Auth", "app_key=\"7HHk65oE2Ngy\", nonce=\""
    + nonce + "\", signature=\"" + sign + "\"");
  pm.setParameter("platform", "weixin");
  pm.setParameter("type", "0");
  pm.setParameter("userId", names);
  pm.setParameter("question", key);
  int re_code;
  try {
   re_code = hc.executeMethod(pm);
   if (re_code == 200) {
    str = pm.getResponseBodyAsString();
   }
  } catch (HttpException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return str;
 }
}

上一篇:浅谈SpringBoot优化技巧

栏    目:JAVA代码

下一篇:springboot 在ftl页面上使用shiro标签的实例代码

本文标题:java实现小i机器人api接口调用示例

本文地址:http://www.codeinn.net/misctech/98710.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有