• 微信公众号关注


    package cn.com.taiji.oosweb.httpserver;


    import java.io.BufferedReader;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;


    import cn.com.taiji.oosweb.manager.helper.JsonUtil;
    import cn.com.taiji.oosweb.web.wx.authdeny.NetTools;


    import net.sf.json.JSONObject;

    public class method {
    static String appsecret ="";
    static String appId ="";

    @SuppressWarnings("deprecation")
    public static void main(String[] args) {

    appId = "wx2faec6d97bb8d50a";
    appsecret = "ed4a837d65d26018e4eb96cc1006c078";
    String requestUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
    //获取access_token
    requestUrl = requestUrl.replace("APPID", appId);
    requestUrl = requestUrl.replace("APPSECRET", appsecret);
    JSONObject jsonObject = NetTools.httpsRequest(requestUrl, "GET", null);
    String access_token = (String) jsonObject.get("access_token");
    String str = getTemporaryQR("910000000010000000001000000000",access_token);
    JSONObject jsonObject1 = JsonUtil.getJSONObject(str);
    System.err.println(jsonObject1.get("url"));



    String mblbUrl = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket="+java.net.URLEncoder.encode((String) jsonObject1.get("ticket"));
    System.err.println((String) jsonObject1.get("ticket"));
    // mblbUrl = mblbUrl.replace("TICKET",java.net.URLEncoder.encode((String) jsonObject1.get("ticket")) );
    // System.err.println(mblbUrl);
    JSONObject mblb = NetTools.httpsRequest(mblbUrl, "GET", null);
    // System.out.println(mblb);
    downloadFile(mblbUrl,"C:/");
    }


    public static Boolean downloadFile(String urlString, String filePath){
    // 构造URL
    URL url;
    try {
    url = new URL(urlString);
    // 打开连接
    URLConnection con;
    try {
    con = url.openConnection();
    // 输入流
    InputStream is = con.getInputStream();
    // 1K的数据缓冲
    byte[] bs = new byte[1024];
    // 读取到的数据长度
    int len;
    // 输出的文件流
    OutputStream os = new FileOutputStream(filePath);
    // 开始读取
    while ((len = is.read(bs)) != -1) {
    os.write(bs, 0, len);
    }
    // 完毕,关闭所有链接
    os.close();
    is.close();
    return true;
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    return false;
    }

    } catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    return false;
    }

    }









    public static String getTemporaryQR(String scene_id,String access_token){
    //获取数据的地址(微信提供)
    String url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token="+access_token;

    //发送给微信服务器的数据
    String jsonStr = "{"expire_seconds": 2592000,"action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": "+scene_id+"}}}";

    //将得到的字符串转化成json对象
    String response = sendPost(jsonStr, url);
    return response.toString();
    }




    public static String sendPost(String param, String url) {
    PrintWriter out = null;
    BufferedReader in = null;
    String result = "";
    try {
    URL realUrl = new URL(url);
    // 打开和URL之间的连接
    URLConnection conn = realUrl.openConnection();
    // 设置通用的请求属性
    conn.setRequestProperty("accept", "*/*");
    conn.setRequestProperty("connection", "Keep-Alive");
    conn.setRequestProperty("user-agent",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
    // 发送POST请求必须设置如下两行
    conn.setDoOutput(true);
    conn.setDoInput(true);
    // 获取URLConnection对象对应的输出流
    // out = new PrintWriter(conn.getOutputStream());
    out = new PrintWriter(new OutputStreamWriter(
    conn.getOutputStream(), "utf-8"));
    // 发送请求参数
    out.print(param);
    // flush输出流的缓冲
    out.flush();
    // 定义BufferedReader输入流来读取URL的响应
    in = new BufferedReader(new InputStreamReader(
    conn.getInputStream(), "UTF-8"));
    String line;
    while ((line = in.readLine()) != null) {
    result += line;
    }
    } catch (Exception e) {
    System.out.println("发送 POST 请求出现异常!" + e);
    e.printStackTrace();
    }
    // 使用finally块来关闭输出流、输入流
    finally {
    try {
    if (out != null) {
    out.close();
    }
    if (in != null) {
    in.close();
    }
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    }
    return result;
    }

    }

    来源:http://www.cnblogs.com/xyabk/p/5776317.html

  • 相关阅读:
    企业微信应用授权
    exec存储过程示例
    jquery判断对象是否存在
    IScroll5要防止重复加载
    transitionEnd不起作用解决方法
    微信接口 output {"errMsg":"translateVoice:fail, the permission value is offline verifying"}
    javascript保留两位小数
    html取消回车刷新提交
    企业微信后台登录
    企业微信开启开发者工具
  • 原文地址:https://www.cnblogs.com/kongxc/p/6903316.html
Copyright © 2020-2023  润新知