这里有新鲜出炉的 Java 并发编程示例,程序狗速度看过来!
Java 程序设计语言
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称.
这篇文章主要介绍了 Java 调用微信客服消息实现发货通知的方法, 结合实例形式详细分析了 java 针对微信接口调用的原理,调用方法与相关注意事项, 需要的朋友可以参考下
本文实例讲述了 Java 调用微信客服消息实现发货通知的方法.分享给大家供大家参考,具体如下:
微信文档地址: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140547&token=&lang=zh_CN
个人说明:这是一个样例,微信客户消息有很多种,我现在用的是公众号发送消息.样子如下图.
说明:下面开始代码部分了.
1. 首先看微信文档.这里才是我们需要的
这里是说发消息要 POST 请求这个接口: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
但是这个接口后面需要带一个参数 ACCESS_TOKEN.
下面先获取 ACCESS_TOKEN.
//这里的WeixinUtil.getAccess_token()方法,放在下面.
String aToken = WeixinUtil.getAccess_token("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + 你的appId + "&secret=" + 你的appSecret + "");
获取到一个 ACCESS_TOKEN,然后就可以加入到微信请求中
System.out.println("这里是aToken" + aToken);
String[] tokenOne = aToken.split(":");
String[] token = tokenOne[1].split(",");
char[] stringArr = token[0].toCharArray();
String token3 = "";
for (int i = 1; i < stringArr.length - 1; i++) {
String token2 = String.valueOf(stringArr[i]);
token3 += token2;
}
System.out.println("这里是ACCESS_TOKEN" + token3);
String json = "{\"touser\":\"这里是Openid\",\"msgtype\":\"text\",\"text\":{\"content\":\"Hello World\"}}";
//这里就是一个微信请求,首先用String放着
String tokenurl = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token="+token3;
//首先确定是发送文字消息,还是图文消息,这里是手写的json数据.
//发送文字消息,无连接
//图文消息,有链接连接
String jsonpic = "{\"touser\":\""+这里是Openid+"\","+ "\"msgtype\":\"news\",\"news\":{\"articles\":["+ "{\"title\":\"HelloWorld\",\"url\":\"要跳转的链接"}]}}";
说明:
System.out.println("这里是json" + jsonpic);
//请求方法,然后放回OK 成功,否则错误.这里这个请求方法在下边
String xmlStr = HttpKit.post(tokenurl, jsonpic);
System.out.println("这里是xmlStr" + xmlStr);
WeixinUtil.getAccess_token()
方法.我放整个类了.改包名,只需要导入两个包
说明:HttpKit.post(); 方法,我放整个类了.这个类我用的是导入
package com.uitrs.weixin;
import java.net.HttpURLConnection;
import java.net.URL;
public class WeixinUtil {
//传入URL
public static String getAccess_token(String url) {
String accessToken = null;
try {
URL urlGet = new URL(url);
HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();
http.setRequestMethod("GET"); // 必须是get方式请求
http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
http.setDoOutput(true);
http.setDoInput(true);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000"); // 连接超时30秒
System.setProperty("sun.net.client.defaultReadTimeout", "30000"); // 读取超时30秒
http.connect();
InputStream is = http.getInputStream();
int size = is.available();
byte[] jsonBytes = new byte[size];
is.read(jsonBytes);
accessToken = new String(jsonBytes, "UTF-8");
System.out.println(accessToken);
is.close();
} catch(Exception e) {
e.printStackTrace();
}
return accessToken;
}
}
import com.jfinal.kit.HttpKit;
这个包到了 jfinal 的包.出自下面三个包当中,具体我也不清楚了
1.jfinal-2.2.jar (应该是这个)
希望本文所述对大家 java 程序设计有所帮助.
.jfinal-2.2-bin-with-src.jar
.jfinal-weixin-1.7-bin-with-src.jar
来源: http://www.phperz.com/article/18/0115/354847.html