复制番号代番号次のように:
パッケージ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 をインポートします。
パブリック クラス XiaoI {
プライベート最終静的文字列 APP_KEY = "*****";
プライベート最終静的文字列 APP_SECRET = "****";
public String Tess(文字列キー, 文字列名) {
文字列レルム = "xiaoi.com";
文字列メソッド = "POST";
文字列 uri = "/robot/ask.do";
byte[] 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,
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=/""
+ ノンス + "/"、署名=/"" + 符号 + "/"");
pm.setParameter("プラットフォーム", "weixin");
pm.setParameter("タイプ", "0");
pm.setParameter("userId", names);
pm.setParameter("質問", キー);
int re_code;
試す {
re_code = hc.executeMethod(pm);
if (re_code == 200) {
str = pm.getResponseBodyAsString();
}
} catch (HttpException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} キャッチ (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
文字列を返します。
}
}