複製程式碼如下:
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 = "****";
公共字串苔絲(字串鍵,字串名稱){
String Realm = "xiaoi.com";
字串方法=“POST”;
字串 uri = "/robot/ask.do";
位元組 [] b = 新位元組 [20];
new Random().nextBytes(b);
String nonce = new String(Hex.encodeHex(b));
String HA1 = DigestUtils.shaHex(StringUtils.join(new String[] {
APP_KEY, 領域, APP_SECRET }, ":"));
String HA2 = DigestUtils.shaHex(StringUtils.join(new String[] { 方法,
uri }, ":"));
字串符號 = DigestUtils.shaHex(StringUtils.join(new String[] { HA1,
隨機數,HA2},“:”));
字串 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=/""
+ 隨機數 + "/", 簽章=/"" + 符號 + "/"");
pm.setParameter("平台", "微信");
pm.setParameter("類型", "0");
pm.setParameter("userId", 名稱);
pm.setParameter("問題", key);
int 重新編碼;
嘗試 {
re_code = hc.executeMethod(pm);
如果(re_code==200){
str = pm.getResponseBodyAsString();
}
} catch (HttpException e) {
// TODO 自動產生的 catch 區塊
e.printStackTrace();
} catch (IOException e) {
// TODO 自動產生的 catch 區塊
e.printStackTrace();
}
返回字串;
}
}