复制代码代码如下:
пакет com.weixin.util;
импортировать java.io.IOException;
импортировать java.util.Random;
импортировать org.apache.commons.codec.binary.Hex;
импортировать org.apache.commons.codec.digest.DigestUtils;
импортировать org.apache.commons.httpclient.HttpClient;
импортировать org.apache.commons.httpclient.HttpException;
импортировать org.apache.commons.httpclient.methods.PostMethod;
импортировать org.apache.commons.httpclient.params.HttpMethodParams;
импортировать org.apache.commons.lang.StringUtils;
общественный класс СяоИ {
частная конечная статическая строка APP_KEY = "*****";
частная окончательная статическая строка APP_SECRET = "****";
public String Tess (ключ строки, имена строк) {
Строковое царство = "xiaoi.com";
Строковый метод = "POST";
Строка uri = "/robot/ask.do";
байт[] b = новый байт[20];
новый Random().nextBytes(b);
Строка nonce = новая строка(Hex.encodeHex(b));
String HA1 = DigestUtils.shaHex(StringUtils.join(new String[] {
APP_KEY, область, APP_SECRET }, ":"));
String HA2 = DigestUtils.shaHex(StringUtils.join(new String[] { метод,
ури }, ":"));
Знак строки = DigestUtils.shaHex(StringUtils.join(new String[] { HA1,
nonce, HA2 }, ":"));
Строка ул = ноль;
HttpClient hc = новый HttpClient();
PostMethod pm = новый 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 + "/", подпись=/"" + знак + "/"");
pm.setParameter("платформа", "weixin");
pm.setParameter("тип", "0");
pm.setParameter("userId", имена);
pm.setParameter("вопрос", ключ);
интервал re_code;
пытаться {
re_code = hc.executeMethod(pm);
если (re_code == 200) {
ул = pm.getResponseBodyAsString();
}
} поймать (HttpException е) {
// TODO Автоматически сгенерированный блок catch
е.printStackTrace();
} catch (IOException e) {
// TODO Автоматически сгенерированный блок catch
е.printStackTrace();
}
вернуть ул;
}
}