复制代码代码如下:
paquete com.weixin.util;
importar java.io.IOException;
importar java.util.Random;
importar org.apache.commons.codec.binary.Hex;
importar org.apache.commons.codec.digest.DigestUtils;
importar org.apache.commons.httpclient.HttpClient;
importar org.apache.commons.httpclient.HttpException;
importar org.apache.commons.httpclient.methods.PostMethod;
importar org.apache.commons.httpclient.params.HttpMethodParams;
importar org.apache.commons.lang.StringUtils;
clase pública XiaoI {
Cadena estática final privada APP_KEY = "*****";
Cadena estática final privada APP_SECRET = "****";
Tess de cadena pública (clave de cadena, nombres de cadena) {
Reino de cadena = "xiaoi.com";
Método de cadena = "POST";
Cadena uri = "/robot/ask.do";
byte[] b = nuevo byte[20];
nuevo Aleatorio().nextBytes(b);
Cadena nonce = nueva cadena (Hex.encodeHex (b));
Cadena HA1 = DigestUtils.shaHex (StringUtils.join (nueva cadena [] {
APP_KEY, reino, APP_SECRET }, ":"));
String HA2 = DigestUtils.shaHex(StringUtils.join(new String[] {método,
uri }, ":"));
Signo de cadena = DigestUtils.shaHex(StringUtils.join(nueva cadena[] { HA1,
nonce, HA2 }, ":"));
Cadena cadena = nulo;
HttpClient hc = nuevo HttpClient();
PostMethod pm = nuevo 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 + "/", firma=/"" + signo + "/"");
pm.setParameter("plataforma", "weixin");
pm.setParameter("tipo", "0");
pm.setParameter("userId", nombres);
pm.setParameter("pregunta", clave);
int re_code;
intentar {
re_code = hc.executeMethod(pm);
si (re_code == 200) {
str = pm.getResponseBodyAsString();
}
} captura (HttpException e) {
// TODO Bloque de captura generado automáticamente
e.printStackTrace();
} captura (IOException e) {
// TODO Bloque de captura generado automáticamente
e.printStackTrace();
}
devolver cadena;
}
}