亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

微信java開發之實現微信主動推送消息

2019-11-26 15:37:43
字體:
來源:轉載
供稿:網友


1.拉取access_token
2.拉取用戶信息
3.主動推送消息
4.接口貌似要申請權限
5.依賴httpclient4.2.3 和jackson 2.2.1

復制代碼 代碼如下:

public class WeixinAPIHelper {
 /**
  * 獲取token接口
  */
 private String getTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}";
 /**
  * 拉微信用戶信息接口
  */
 private String getUserInfoUrl = "https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&openid={1}";
 /**
  * 主動推送信息接口
  */
 private String sendMsgUrl = "https://api.weixin.qq.com/cgi-bin/message/send?access_token={0}";

 private HttpClient webClient;

 private Log log = LogFactory.getLog(getClass());
 public void initWebClient(String proxyHost, int proxyPort){
  this.initWebClient();
  if(webClient != null && !StringUtils.isEmpty(proxyHost)){
   HttpHost proxy = new HttpHost(proxyHost, proxyPort);
   webClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
  }
 }

 /**
  * @desc 初始化創建 WebClient
  */
 public void initWebClient() {
  log.info("initWebClient start....");
  try {
   PoolingClientConnectionManager tcm = new PoolingClientConnectionManager();
   tcm.setMaxTotal(10);
   SSLContext ctx = SSLContext.getInstance("TLS");
   X509TrustManager tm = new X509TrustManager() {

    public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {

    }

    public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {

    }

    public X509Certificate[] getAcceptedIssuers() {
     return null;
    }
   };
   ctx.init(null, new X509TrustManager[] { tm }, null);
   SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
   Scheme sch = new Scheme("https", 443, ssf);
   tcm.getSchemeRegistry().register(sch);
   webClient = new DefaultHttpClient(tcm);
  } catch (Exception ex) {
   log.error("initWebClient exception", ex);
  } finally {
   log.info("initWebClient end....");
  }
 }

 /**
  * @desc 獲取授權token
  * @param appid
  * @param secret
  * @return
  */
 public String getAccessToken(String appid, String secret) {
  String accessToken = null;
  try {
   log.info("getAccessToken start.{appid=" + appid + ",secret:" + secret + "}");
   String url = MessageFormat.format(this.getTokenUrl, appid, secret);
   String response = executeHttpGet(url);
   accessToken = JsonUtils.read(response, "access_token");
  } catch (Exception e) {
   log.error("get access toekn exception", e);
  }
  return accessToken;
 }
 /**
  * @desc 推送信息
  * @param token
  * @param msg
  * @return
  */
 public String sendMessage(String token,String msg){
  try{
   log.info("sendMessage start.token:"+token+",msg:"+msg);
   String url = MessageFormat.format(this.sendMsgUrl, token);
   HttpPost post = new HttpPost(url);
   ResponseHandler<?> responseHandler = new BasicResponseHandler();
   StringEntity entity = new StringEntity(msg);
   post.setEntity(entity);
   String response = (String) this.webClient.execute(post, responseHandler);
   log.info("return response=====start======");
   log.info(response);
   log.info("return response=====end======");
   return response;

  }catch (Exception e) {
   log.error("get user info exception", e);
   return null;
  } 
 }
 /**
  * @desc 拉取用戶信息
  * @param token
  * @param openid
  * @return
  */
 public WeixinOpenUser getUserInfo(String token, String openid) {
  try {
   log.info("getUserInfo start.{token:" + token + ",openid:" + openid + "}");
   String url = MessageFormat.format(this.getUserInfoUrl, token, openid);
   String response = executeHttpGet(url);
   JsonNode json = JsonUtils.read(response);
   if (json.get("openid") != null) {
    WeixinOpenUser user = new WeixinOpenUser();
    user.setOpenUserId(json.get("openid").asText());
    user.setState(json.get("subscribe").asText());
    if ("1".equals(user.getState())) {
     user.setUserName(json.get("nickname").asText());
     user.setSex(json.get("sex").asText());
     user.setCity(json.get("city").asText());
     user.setLanguage(json.get("language").asText());
    }
    return user;
   }
  } catch (Exception e) {
   log.error("get user info exception", e);
  }
  return null;
 }
 /**
  * @desc 發起HTTP GET請求返回數據
  * @param url
  * @return
  * @throws IOException
  * @throws ClientProtocolException
  */
 private String executeHttpGet(String url) throws IOException, ClientProtocolException {
  ResponseHandler<?> responseHandler = new BasicResponseHandler();
  String response = (String) this.webClient.execute(new HttpGet(url), responseHandler);
  log.info("return response=====start======");
  log.info(response);
  log.info("return response=====end======");
  return response;
 }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩久久免费视频| 上原亚衣av一区二区三区| 成人午夜两性视频| 欧美激情视频在线免费观看 欧美视频免费一| 岛国av一区二区在线在线观看| 亚洲成人激情在线| 午夜精品在线视频| 欧美午夜精品久久久久久久| 久久五月情影视| 人妖精品videosex性欧美| 欧美人与性动交| 精品国产区一区二区三区在线观看| 91久久久久久久久久| 国内精品小视频在线观看| 国产精品偷伦免费视频观看的| 色综合久久精品亚洲国产| 国产suv精品一区二区| 91国产精品电影| 亚洲免费av片| 久久成人av网站| 国产91色在线|| 国产乱肥老妇国产一区二| 欧美在线一级视频| 色久欧美在线视频观看| 欧美精品一区三区| 在线视频中文亚洲| 久久夜色精品国产| 91影视免费在线观看| 97视频在线观看免费| 国内精品模特av私拍在线观看| 亚洲精品wwwww| 成人h视频在线| 欧美日韩性视频在线| 2018中文字幕一区二区三区| 成人福利在线视频| 亚洲国产精品yw在线观看| 日韩天堂在线视频| 亚洲成人av片在线观看| 色播久久人人爽人人爽人人片视av| 欧美有码在线观看| 亚洲欧洲国产伦综合| 欧美色另类天堂2015| 日韩精品免费综合视频在线播放| 日韩av成人在线观看| 亚洲色图狂野欧美| 亚洲成成品网站| 亚洲国产精品专区久久| 久久久这里只有精品视频| 欧美第一页在线| 欧美成人国产va精品日本一级| 成人精品视频久久久久| 日韩国产精品亚洲а∨天堂免| 午夜精品福利在线观看| 久久久av电影| 性日韩欧美在线视频| 久久精品一偷一偷国产| 亚洲一区二区中文| 久久伊人精品视频| 久久中国妇女中文字幕| 亚洲精品永久免费精品| 欧美性极品xxxx做受| 日韩在线免费视频| 成人夜晚看av| 国产精品久久久久久久久久久久久久| 日韩精品一区二区视频| 日韩美女激情视频| 日韩精品视频在线免费观看| 亚洲第一偷拍网| 亚洲成年人在线播放| 欧美丝袜美女中出在线| 亚洲欧美制服第一页| 91久久夜色精品国产网站| 久久精品国产欧美激情| 日韩精品免费综合视频在线播放| 成人精品在线视频| xx视频.9999.com| 久久影院模特热| 亚洲男人天堂网| 国产精品96久久久久久| 亚洲欧美国产一区二区三区| 6080yy精品一区二区三区| 日本人成精品视频在线| 欧美黄色片在线观看| 丁香五六月婷婷久久激情| 亚洲成人在线视频播放| 国产福利视频一区| 大荫蒂欧美视频另类xxxx| 精品久久久久久中文字幕一区奶水| 国产日韩在线精品av| 国产97色在线| 欧美在线视频一二三| 操日韩av在线电影| 日本不卡高字幕在线2019| 97视频在线观看播放| 日本精品视频在线| 亚洲电影免费观看高清完整版在线| 国产视频福利一区| 久久久最新网址| 欧美精品在线网站| 91精品国产高清久久久久久久久| 日韩人体视频一二区| 不卡av在线网站| 韩国精品久久久999| 国产91精品久久久| 色香阁99久久精品久久久| 7777kkkk成人观看| 欧美影院久久久| 亚洲国产精品一区二区三区| 亚洲人成电影网站色…| 欧美激情在线播放| 亚洲美女av网站| 欧美另类极品videosbestfree| 久久五月情影视| 2018中文字幕一区二区三区| 欧美国产一区二区三区| 国产在线观看精品| 国产xxx69麻豆国语对白| 亚洲第一网站免费视频| 欧美黄色性视频| 国产精品扒开腿做| 日韩精品黄色网| 亚洲第一天堂av| 亚洲最大福利视频网站| 免费99精品国产自在在线| 精品一区二区三区电影| 91精品国产免费久久久久久| 国产精品一区二区久久| 国产欧美日韩精品在线观看| 亚洲成人亚洲激情| 九色成人免费视频| 全球成人中文在线| 国产日韩欧美影视| 青青草成人在线| 在线观看欧美日韩| 日韩在线观看高清| 高清一区二区三区日本久| 欧美另类暴力丝袜| 日韩av男人的天堂| 最近2019年好看中文字幕视频| 日日狠狠久久偷偷四色综合免费| 国产精品扒开腿做爽爽爽视频| 欧美黄色成人网| 日韩av综合网站| 欧美理论电影在线播放| 成人黄色午夜影院| 亚洲男人的天堂在线| 成人免费观看网址| 久久精品国产2020观看福利| 欧美在线精品免播放器视频| 国产成人免费av电影| 91精品视频网站| 亚洲国产高清自拍| 国产精品日韩av| 日韩有码在线播放| 久久黄色av网站| 国产一区二区三区视频免费| 亚洲精品一区在线观看香蕉| 日韩一区二区av| 成人免费观看a| 久久亚洲精品中文字幕冲田杏梨| 国产精品第七十二页| 亚洲深夜福利在线| 国产999在线观看| 欧美自拍视频在线|