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

发布时间 - 2026-01-11 02:26:25    点击率:

废话不多说,直接上代码

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");//得到的短链


 

?12345678910111213141516171819202522232425262728293031323334353637383940414243444546474849public 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;  }

以上这篇浅谈Java代码的 微信长链转短链接口使用 post 请求封装Json(实例)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# 微信长链转短链  # 基于Java设计一个短链接生成系统  # JAVA实现生成短链接的示例代码  # Java后端实现短链接生成功能  # 给大家  # 自己的  # 希望能  # 这篇  # 多说  # 浅谈  # 不重要  # 小编  # 大家多多  # 信长  # shorturl  # access_token  # cgi  # bin  # curl  # action  # long2short  # 微信短链  # api  # accessToken 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速搭建高效WAP手机网站吸引移动用户?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  Python自动化办公教程_ExcelWordPDF批量处理案例  javascript基本数据类型及类型检测常用方法小结  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Laravel如何配置和使用缓存?(Redis代码示例)  利用vue写todolist单页应用  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  网站建设整体流程解析,建站其实很容易!  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  Laravel如何处理CORS跨域请求?(配置示例)  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  高端建站如何打造兼具美学与转化的品牌官网?  bing浏览器学术搜索入口_bing学术文献检索地址  网站制作价目表怎么做,珍爱网婚介费用多少?  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  无锡营销型网站制作公司,无锡网选车牌流程?  如何在IIS服务器上快速部署高效网站?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Bootstrap整体框架之JavaScript插件架构  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Laravel怎么在Blade中安全地输出原始HTML内容  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  Bootstrap CSS布局之列表  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  5种Android数据存储方式汇总  深圳网站制作培训,深圳哪些招聘网站比较好?  如何有效防御Web建站篡改攻击?  如何快速选择适合个人网站的云服务器配置?  android nfc常用标签读取总结  怎么用AI帮你为初创公司进行市场定位分析?  教学论文网站制作软件有哪些,写论文用什么软件 ?  如何快速使用云服务器搭建个人网站?  网站制作企业,网站的banner和导航栏是指什么?  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  想要更高端的建设网站,这些原则一定要坚持!  php json中文编码为null的解决办法  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】