欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

浅谈Java代码的 微信长链转短链接口使用 post 请求封装Json(实例)

时间:2021-02-10 14:51:52|栏目:JAVA代码|点击:

废话不多说,直接上代码

String longUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + MpUtil.APPID + "&redirect_uri=" + MpUtil.HOMEPAGE + "/nweixinLoginPc.fo%3Frandomcode=" + randomcode + "&response_type=code&scope=snsapi_userinfo&state=account#wechat_redirect";//什么不重要 ,自己的长链
        
        String accessToken = MpUtil.getAccessToken(MpUtil.APPID, MpUtil.APPSECRET);        
        String shortUrl = null;//短连接地址,生成二维码用,识别快
        String httpUrl = "https://api.weixin.qq.com/cgi-bin/shorturl?access_token="+accessToken; //此处访问微信短链方法
        
        /**
         * 调用举例
            curl -d "{\"action\":\"long2short\",
            \"long_url\":\"http://wap.koudaitong.com/v2/showcase/goods?alias=128wi9shh&spm=h56083&redirect_count=1\"}"
            "https://api.weixin.qq.com/cgi-bin/shorturl?access_token=ACCESS_TOKEN"
         */
        JSONObject jsonObject = new JSONObject();
        
        jsonObject.put("action", "long2short");
        jsonObject.put("long_url", longUrl);
  
        String transJson = jsonObject.toString()+httpUrl;
        RequestEntity se = new StringRequestEntity(transJson, "application/json", "UTF-8");
        //微信返回的字符串
        //成功 {"errcode":0,"errmsg":"ok","short_url":"http:\/\/w.url.cn\/s\/AvCo6Ih"}
        //失败 {"errcode":40013,"errmsg":"invalid appid"}
        String resultsString = post(jsonObject,httpUrl); //封装的post方法
          
       String shortUrl = MpUtil.getJsonValue(resultsString, "short_url");//得到的短链


 

?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849public static String post(JSONObject json,String URL) {              HttpClient client = new DefaultHttpClient();         HttpPost post = new HttpPost(URL);                  post.setHeader("Content-Type", "application/json");         post.addHeader("Authorization", "Basic YWRtaW46");         String result = "";                  try {                StringEntity s = new StringEntity(json.toString(), "utf-8");           s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,               "application/json"));           post.setEntity(s);                // 发送请求           HttpResponse httpResponse = client.execute(post);                // 获取响应输入流           InputStream inStream = httpResponse.getEntity().getContent();           BufferedReader reader = new BufferedReader(new InputStreamReader(               inStream, "utf-8"));           StringBuilder strber = new StringBuilder();           String line = null;           while ((line = reader.readLine()) != null)             strber.append(line + "\n");           inStream.close();                result = strber.toString();                      if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {                          return result;                        } else {                          result="";                        }                         } catch (Exception e) {           System.out.println("请求异常");           throw new RuntimeException(e);         }              return result;       }

 
获取参数 结果的 
?12345678910111213141516/**   * 获取json中的值   * @param json   * @param key   * @return   */  public static String getJsonValue(String json, String key) {    String value = "";    try {      JSONObject jsonObj = new JSONObject(json);      value = jsonObj.getString(key);    } catch (Exception e) {      value = "";    }    return value;  }

上一篇:详解Eclipse提交项目到GitHub以及解决代码冲突

栏    目:JAVA代码

下一篇:Spring AOP执行先后顺序实例详解

本文标题:浅谈Java代码的 微信长链转短链接口使用 post 请求封装Json(实例)

本文地址:http://www.codeinn.net/misctech/60594.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有