复代码代码如下:
패키지 com.weixin.util;
import java.io.IOException;
import java.util.Random;
org.apache.commons.codec.binary.Hex 가져오기;
org.apache.commons.codec.digest.DigestUtils 가져오기;
org.apache.commons.httpclient.HttpClient 가져오기;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.PostMethod;
org.apache.commons.httpclient.params.HttpMethodParams 가져오기;
org.apache.commons.lang.StringUtils 가져오기;
공개 클래스 XiaoI {
개인 최종 정적 문자열 APP_KEY = "*****";
개인 최종 정적 문자열 APP_SECRET = "****";
public String Tess(문자열 키, 문자열 이름) {
문자열 영역 = "xiaoi.com";
문자열 메소드 = "POST";
문자열 uri = "/robot/ask.do";
바이트[] b = 새 바이트[20];
새로운 Random().nextBytes(b);
문자열 nonce = new String(Hex.encodeHex(b));
문자열 HA1 = DigestUtils.shaHex(StringUtils.join(new String[] {
APP_KEY, 영역, APP_SECRET }, ":"));
문자열 HA2 = DigestUtils.shaHex(StringUtils.join(new String[] { 메서드,
uri }, ":"));
문자열 기호 = DigestUtils.shaHex(StringUtils.join(new String[] { HA1,
nonce, HA2 }, ":"));
문자열 str = null;
HttpClient hc = 새로운 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 + "/", 서명=/"" + 부호 + "/"");
pm.setParameter("플랫폼", "weixin");
pm.setParameter("type", "0");
pm.setParameter("userId", 이름);
pm.setParameter("질문", 키);
int re_code;
노력하다 {
re_code = hc.executeMethod(pm);
if (re_code == 200) {
str = pm.getResponseBodyAsString();
}
} 잡기(HttpException e) {
// TODO 자동 생성된 캐치 블록
e.printStackTrace();
} 잡기(IOException e) {
// TODO 자동 생성된 캐치 블록
e.printStackTrace();
}
str을 반환;
}
}