微信获取AccessToken

package com.cxb.otherWx;
/**
 * @author ChenXb
 *
 * 2018年4月19日
 */
public class AccessToken {
private String token;
    private int expiresIn;
    public String getToken() {
        return token;
    }
    public void setToken(String token) {
        this.token = token;
    }
    public int getExpiresIn() {
        return expiresIn;
    }
    public void setExpiresIn(int expiresIn) {
        this.expiresIn = expiresIn;
    }

}



package com.cxb.otherWx;
import java.net.MalformedURLException;
import java.net.URL;
import com.cxb.wx.accesstoken.AccessToken;
import com.cxb.wx.accesstoken.Account;
import com.google.gson.Gson;
/**
 * @author ChenXb
 *
 *         2018年4月19日      获取accesstoken的工具类
 */
public class AccessTokenUtils {
public static String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
public static String getAccessToken(String APPID, String APPSECRET) {
url = url.replaceAll("APPID", APPID).replaceAll("APPSECRET", APPSECRET);
URL Url = null;
try {
Url = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
String json = HttpUtils.get(Url);
Gson gson = new Gson();
AccessToken accessToken = gson.fromJson(json, AccessToken.class);
String access_token = accessToken.getAccess_token();
return access_token;
}


public static void main(String[] args) {

String accessToken = getAccessToken(Account.APPID, Account.APPSECRET);  //将这里的数值换成你自己的
System.out.println(accessToken);
}

}



//这里是https的工具类

package com.cxb.otherWx;


import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.commons.httpclient.params.HttpConnectionManagerParams;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;


import java.io.IOException;
import java.net.URL;
/**
 * 
 * @author ChenXb
 *               这是http的get 和 post 请求
 * 2018年4月19日
 */
public class HttpUtils{


    private static final Logger logger = Logger.getLogger(HttpUtils.class);


    private final static String OPERATER_NAME = "【HTTP操作】";


    private final static int SUCCESS = 200;


    private final static String UTF8 = "UTF-8";


    private HttpClient client;


    private static HttpUtils instance = new HttpUtils();


    /**
     * 私有化构造器
     */
    private HttpUtils() {


        HttpConnectionManager httpConnectionManager = new MultiThreadedHttpConnectionManager();
        HttpConnectionManagerParams params = httpConnectionManager.getParams();
        params.setConnectionTimeout(5000);
        params.setSoTimeout(20000);
        params.setDefaultMaxConnectionsPerHost(1000);
        params.setMaxTotalConnections(1000);
        client = new HttpClient(httpConnectionManager);
        client.getParams().setContentCharset(UTF8);
        client.getParams().setHttpElementCharset(UTF8);
    }
    
    /**
     * get请求
     */
    public static String get(URL url) {
        return instance.doGet(url);
    }


    private String doGet(URL url) {
        long beginTime = System.currentTimeMillis();
        String respStr = StringUtils.EMPTY;
        try {
            logger.info(OPERATER_NAME + "开始get通信,目标host:" + url);
            HttpMethod method = new GetMethod(url.toString());
            // 中文转码
            method.getParams().setContentCharset(UTF8);
            try {
                client.executeMethod(method);
            } catch (HttpException e) {


                logger.error(new StringBuffer("发送HTTP GET给\r\n").append(url)
                        .append("\r\nHTTP异常\r\n"), e);
            } catch (IOException e) {


                logger.error(new StringBuffer("发送HTTP GET给\r\n").append(url)
                        .append("\r\nIO异常\r\n"), e);
            }
            if (method.getStatusCode() == SUCCESS) {
                respStr = method.getResponseBodyAsString();
            }
            // 释放连接
            method.releaseConnection();


            logger.info(OPERATER_NAME + "通讯完成,返回码:" + method.getStatusCode());
            logger.info(OPERATER_NAME + "返回内容:" + method.getResponseBodyAsString());
            logger.info(OPERATER_NAME + "结束..返回结果:" + respStr);
        } catch (Exception e) {
            logger.info(OPERATER_NAME, e);
        }
        long endTime = System.currentTimeMillis();
        logger.info(OPERATER_NAME + "共计耗时:" + (endTime - beginTime) + "ms");


        return respStr;
    }




    /**
     * POST请求
     */
    public static String post(URL url, String content) {
        return instance.doPost(url, content);
    }


    private String doPost(URL url, String content) {
        long beginTime = System.currentTimeMillis();
        String respStr = StringUtils.EMPTY;
        try {
            logger.info(OPERATER_NAME + "开始post通信,目标host:" + url.toString());
            logger.info("通信内容:" + content);
            PostMethod post = new PostMethod(url.toString());
            RequestEntity requestEntity = new StringRequestEntity(content, "application/json;charse=UTF-8", UTF8);
            post.setRequestEntity(requestEntity);
            // 设置格式
            post.getParams().setContentCharset(UTF8);


            client.executeMethod(post);
            if (post.getStatusCode() == SUCCESS) {
                respStr = post.getResponseBodyAsString();
            }


            logger.info(OPERATER_NAME + "通讯完成,返回码:" + post.getStatusCode());
            logger.info(OPERATER_NAME + "返回内容:" + post.getResponseBodyAsString());
            logger.info(OPERATER_NAME + "结束..返回结果:" + respStr);
            post.releaseConnection();


        } catch (Exception e) {
            logger.error(OPERATER_NAME, e);
        }
        long endTime = System.currentTimeMillis();
        logger.info(OPERATER_NAME + "共计耗时:" + (endTime - beginTime) + "ms");
        return respStr;
    }


    //测试类
    public static void main(String[] args) throws Exception {
       /* JSONObject json = new JSONObject();
        json.put("funCode", "3001");
        json.put("platCode", "3001");
        URL url = new URL("http://127.0.0.1:9191/member");
        String resp = HttpUtil.post(url, json.toString());
        System.out.println(resp);*/
   
    URL url = new URL("http://www.baidu.com");
    String string = HttpUtils.get(url);
    System.out.println(string);
    }


}

扫描二维码关注公众号,回复: 1055315 查看本文章


附录:


猜你喜欢

转载自blog.csdn.net/qq_33371766/article/details/80002888