java将长网址转换为短网址 用第三方接口 常用于生成二维码时需要

该方法适用于任何将长网址转换为短网址。
在二维码生成的时候因为二维码生成的类会根据传入的内容生成相对应的二维码,当内容越丰富时二维码的识别就比较复杂难以识别。在此时就需要用到。

短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。有时也称短网址(Short URL)。
  这里第三方接口使用nowapi , 注册网址:https://www.nowapi.com。通过注册得到appkey和sign。
  在这里插入图片描述
  接口文档地址(创建短网址接口):https://www.nowapi.com/api/shorturl.set。点击立即开通,可以直接选择创建三个月
  在这里插入图片描述
  开通之后,点页面的appKey就可以看见appkey和sign
  在这里插入图片描述
  申请好了之后直接将我编写好的这个类复制到java项目中即可使用。

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.InputStream;
import java.net.URL;
import java.net.URLEncoder;

public class ShorturlUtil {

    private static final String APPKEY = "49573";
    private static final String SIGN = "f927c86588bfa0dfad26ad9b78b6a7a3";
    //用来将长网址转换成短url的网址
    private static final String resolveurl = "http://api.k780.com/";
    //用来返回的短网址
    private static String shorturl;
    public static String longurl2Shorturl(String longurl) throws Exception {
        //URL u=new URL("http://api.k780.com/?app=shorturl.set&url=需要缩短的网址(需要urlencode)&appkey={APPKEY}&sign={SIGN}&format=json");
            URL u=new URL(resolveurl+"?appkey="+APPKEY+"&sign="+SIGN+"&format=json"+"&app=shorturl.set&url="+longurl);
            InputStream inputStream=u.openStream();
            ObjectMapper objectMapper = new ObjectMapper();
            JsonNode jsonNode = objectMapper.readTree(u.openStream());
            shorturl = jsonNode.get("result").get("short_url").asText();
            //有些地方对http会拦截,所以统一改成https
            if (shorturl.startsWith("http:")){
                shorturl = shorturl.replace("http:","https:");
            }
        return shorturl;
    }
    public static void main(String[] args) throws Exception {
        String url = "http://open.weixin.qq.com/connect/oauth2/" +
                "authorize?appid=wx4c00f63bf8fc13fb&redirect_uri=http://www.hujiatai.cn/wechatlogin/" +
                "logincheck&response_type=code&scope=snsapi_userinfo&state="+ 1
                +"#wechat_redirect";
        System.out.println(longurl2Shorturl(url));
    }
}

运行完成之后就会得到一个短网址。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值