复制代码代码如下 :
paquet com.weixin.util;
importer java.io.IOException ;
importer java.util.Random ;
importer org.apache.commons.codec.binary.Hex ;
importer org.apache.commons.codec.digest.DigestUtils ;
importer org.apache.commons.httpclient.HttpClient ;
importer org.apache.commons.httpclient.HttpException ;
importer org.apache.commons.httpclient.methods.PostMethod ;
importer org.apache.commons.httpclient.params.HttpMethodParams ;
importer org.apache.commons.lang.StringUtils ;
classe publique XiaoI {
chaîne statique finale privée APP_KEY = "*****" ;
Chaîne statique finale privée APP_SECRET = "****" ;
public String Tess (clé de chaîne, noms de chaînes) {
Domaine de chaîne = "xiaoi.com" ;
Méthode de chaîne = "POST" ;
Chaîne uri = "/robot/ask.do" ;
octet[] b = nouvel octet[20];
new Random().nextBytes(b);
Chaîne nonce = new String(Hex.encodeHex(b));
Chaîne HA1 = DigestUtils.shaHex(StringUtils.join(new String[] {
APP_KEY, domaine, APP_SECRET }, ":"));
String HA2 = DigestUtils.shaHex(StringUtils.join(new String[] { méthode,
uri }, ":"));
Signe de chaîne = DigestUtils.shaHex(StringUtils.join(new String[] { HA1,
occasionnellement, HA2 }, ":"));
Chaîne 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=/""
+ occasionnel + "/", signature=/"" + signe + "/"");
pm.setParameter("plateforme", "weixin");
pm.setParameter("type", "0");
pm.setParameter("userId", noms);
pm.setParameter("question", clé);
int re_code;
essayer {
re_code = hc.executeMethod(pm);
si (re_code == 200) {
str = pm.getResponseBodyAsString();
}
} catch (HttpException e) {
// TODO Bloc catch généré automatiquement
e.printStackTrace();
} catch (IOException e) {
// TODO Bloc catch généré automatiquement
e.printStackTrace();
}
return str;
}
}