复制代码代码如下:
แพ็คเกจ com.weixin.util;
นำเข้า java.io.IOException;
นำเข้า java.util.สุ่ม;
นำเข้า 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 = "****";
Tess สตริงสาธารณะ (คีย์สตริง ชื่อสตริง) {
ขอบเขตสตริง = "xiaoi.com";
วิธีสตริง = "POST";
สตริง uri = "/robot/ask.do";
ไบต์ [] b = ไบต์ใหม่ [20];
ใหม่สุ่ม().nextBytes(b);
สตริง nonce = สตริงใหม่ (Hex.encodeHex(b));
สตริง HA1 = DigestUtils.shaHex (StringUtils.join (สตริงใหม่ [] {
APP_KEY, ขอบเขต, APP_SECRET }, ///));
สตริง HA2 = DigestUtils.shaHex (StringUtils.join (สตริงใหม่ [] { วิธีการ
uri }, ///));
เครื่องหมายสตริง = DigestUtils.shaHex (StringUtils.join (สตริงใหม่ [] { HA1,
nonce, HA2 }, ///));
สตริง str = null;
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("รหัสผู้ใช้", ชื่อ);
pm.setParameter("คำถาม", คีย์);
int re_code;
พยายาม {
re_code = hc.executeMethod (น.);
ถ้า (re_code == 200) {
str = pm.getResponseBodyAsString();
-
} จับ (HttpException e) {
// TODO บล็อก catch ที่สร้างขึ้นอัตโนมัติ
e.printStackTrace();
} จับ (IOException จ) {
// TODO บล็อก catch ที่สร้างขึ้นอัตโนมัติ
e.printStackTrace();
-
กลับ STR;
-
-