精华内容
下载资源
问答
  • 长链接转短链接

    2014-01-12 09:48:18
    长链接转短链接
  • delphi开发微信API程序(长链接转短链接),自己写的,用微信提供的API,长链接转短链接。使用方便
  • 实用的微信API长链接转短链接程序,delphi开发.
  • 长链接转短链接接口将一条长链接转短链接。主要使用场景: 开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口短链接再生成二维码将大大提升扫码速度和...

    长链接转短链接接口

    将一条长链接转成短链接。

    主要使用场景: 开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口转成短链接再生成二维码将大大提升扫码速度和成功率。

    
     /**
         * 长链转短链
         */
        @GetMapping("/longToShort")
        public String longToShort() {
            //临时二维码
            String url = "https://api.weixin.qq.com/cgi-bin/shorturl?access_token=" + WechatConf.ACCESSTOKEN;
            String jsonStr = "{\"action\":\"long2short\",\"long_url\":\"http://www.baidu.com\"}";
            String resultJson = HttpConnectionUtil.post(url, jsonStr);
            System.out.println(resultJson);
            return "success";
        }
        //正确返回内容
        {"errcode":0,"errmsg":"ok","short_url":"http:\/\/w.url.cn\/s\/AvCo6Ih"}
    展开全文
  • 10、长链接转短链接

    2019-06-11 16:57:00
    1、概述 短网址的好处众多,便于记忆,占用字符少等,现在市面上出现了众多的...2、利用微信公众号接口实现长链接转短链接 开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将...

    1、概述

    短网址的好处众多,便于记忆,占用字符少等,现在市面上出现了众多的将长网址转变为短网址的方法,但是由于他们都是小的公司在幕后运营,所以很不靠谱,面对随时关闭服务的可能,这样也导致我们将转换好了的短网址也会失效失链!那么怎样才能使转换好了的短网址永久有效呢?

    2、利用微信公众号接口实现长链接转短链接

    开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口转成短链接再生成二维码将大大提升扫码速度和成功率。微信公众号平台提供的长链接转短链接接口是:

    http请求方式: POST
    https://api.weixin.qq.com/cgi-bin/shorturl?access_token=ACCESS_TOKEN

    参数说明

    参数是否必须说明
    access_token 调用接口凭证
    action 此处填long2short,代表长链接转短链接
    long_url 需要转换的长链接,支持http://、https://、weixin://wxpay 格式的url

    调用举例

    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"

    返回说明,正常情况下,微信会返回下述JSON数据包给公众号:

    {"errcode":0,"errmsg":"ok","short_url":"http:\/\/w.url.cn\/s\/AvCo6Ih"}

    代码参考

    /// <summary>
    /// 长链接转短链接
    /// </summary>
    /// <param name="longUrl">长链接</param>
    /// <returns></returns>
    [HttpPost]
    [ValidateInput(false)]
    [LoginAuthorize]
    public ActionResult GetShortUrl(string longUrl)
    {
        WeixinOfficialAccountEntity currentWeixinOfficialAccountEntity = RDIFrameworkService.Instance.WeixinBasicService.GetCurrentOfficialAccountEntity(ManageProvider.Provider.Current());
        string token = currentWeixinOfficialAccountEntity.AccessToken;
    
    
        //微信请求地址
        string url = "https://api.weixin.qq.com/cgi-bin/shorturl?access_token=" + token;
    
        //请求的json参数
        string data = "{\"action\":\"long2short\",\"long_url\":\"" + longUrl + "\"}";
    
        string ret = string.Empty;
    
        try
        {
            byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(data); //转化
            HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(url));
            webReq.Method = "POST";
            webReq.ContentType = "application/json";
    
            webReq.ContentLength = byteArray.Length;
            Stream newStream = webReq.GetRequestStream();
            newStream.Write(byteArray, 0, byteArray.Length);//写入参数
            newStream.Close();
            HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
            var ce = response.ContentEncoding;
            StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
            ret = sr.ReadToEnd();
    
            sr.Close();
            response.Close();
            newStream.Close();
        }
        catch (Exception ex)
        {
    
        }
    
        //正常情况下,微信会返回下述JSON数据包给公众号:
        //{"errcode":0,"errmsg":"ok","short_url":"http:\/\/w.url.cn\/s\/AvCo6Ih"}
    
        string errcode = "";//错误码。
        string errmsg = "";//错误信息。
        string short_url = "";//短链接。
    
        //解析响应信息
        if (!string.IsNullOrWhiteSpace(ret))
        {
            JObject jo = (JObject)JsonConvert.DeserializeObject(ret);
            errcode = jo["errcode"].ToString();//错误码。
            errmsg = jo["errmsg"].ToString();//错误信息。
            short_url = jo["short_url"].ToString();//短链接。
        }
    
        
    
        return Content(new JsonMessage { Success = true, Data = short_url, Type = ResultType.Success, Message = errmsg }.ToString());
    }

    3、使用效果参考

    长链接转短链接界面


    生成的短链接效果

    上面的界面我们把链接地址http://blog.rdiframework.net/article/190通过我们提供的长链接转短链接界面功能转成了短链接https://w.url.cn/s/ALO1xZC

    转载于:https://www.cnblogs.com/zhipeng007/p/11004656.html

    展开全文
  • 自己编写长链接转短链接 原理:将长链接在后台通过转换的方式转成所需的短链接(域名+(项目名)+唯一标识) 长链接转短链接 /** * 短链接工具类 */ @Component public class ShortUrlUtils { public static ...

    自己编写长链接转短链接
    原理:将长链接在后台通过转换的方式转成所需的短链接(域名+(项目名)+唯一标识)

    长链接转成短链接

    /**
     * 短链接工具类
     */
    @Component
    public class ShortUrlUtils {
        public static final String SHORT_URL = "shortUrl";	
    
        @Autowired
        private RedisClient redisClient;
    
        /**
         * 根据连接获取短链接
         */
        public String LongToShort(String longUrl){
            String[] urls = shortUrl(longUrl);
            Random random = new Random();
            int num = random.nextInt(4);
            String url = urls[num];
            
    		//防止重复
            Object obj = redisClient.get(ShortUrlUtils.SHORT_URL + ":" + url);
            if(obj != null) return LongToShort(longUrl);
    
            return url;
        }
    
        public String[] shortUrl(String url) {
            // 可以自定义生成 MD5 加密字符传前的混合 KEY
            String key = "jixiang" ;
            // 要使用生成 URL 的字符
            String[] chars = new String[] { "a" , "b" , "c" , "d" , "e" , "f" , "g" , "h" ,
                    "i" , "j" , "k" , "l" , "m" , "n" , "o" , "p" , "q" , "r" , "s" , "t" ,
                    "u" , "v" , "w" , "x" , "y" , "z" , "0" , "1" , "2" , "3" , "4" , "5" ,
                    "6" , "7" , "8" , "9" , "A" , "B" , "C" , "D" , "E" , "F" , "G" , "H" ,
                    "I" , "J" , "K" , "L" , "M" , "N" , "O" , "P" , "Q" , "R" , "S" , "T" ,
                    "U" , "V" , "W" , "X" , "Y" , "Z"
            };
    
            // 对传入网址进行 MD5 加密
            String sMD5EncryptResult = MD5Util.md5(key + url);
    
            String hex = sMD5EncryptResult;
    
            String[] resUrl = new String[4];
            for ( int i = 0; i < 4; i++) {
    
                // 把加密字符按照 8 位一组 16 进制与 0x3FFFFFFF 进行位与运算
                String sTempSubString = hex.substring(i * 8, i * 8 + 8);
    
                // 这里需要使用 long 型来转换,因为 Inteper .parseInt() 只能处理 31 位 , 首位为符号位 , 如果不用 long ,则会越界
                long lHexLong = 0x3FFFFFFF & Long.parseLong (sTempSubString, 16);
                String outChars = "" ;
                for ( int j = 0; j < 6; j++) {
                    // 把得到的值与 0x0000003D 进行位与运算,取得字符数组 chars 索引
                    long index = 0x0000003D & lHexLong;
                    // 把取得的字符相加
                    outChars += chars[( int ) index];
                    // 每次循环按位右移 5 位
                    lHexLong = lHexLong >> 5;
                }
                // 把字符串存入对应索引的输出数组
                resUrl[i] = outChars;
            }
            return resUrl;
        }
    }
    

    通过短链接来访问原始的长链接

    /**
     * 短链接跳转
     */
    @RestController
    public class ShortUrlController extends BaseAction {
        @Autowired
        private RedisClient redisClient;
    
        /**
         * 接收第三方推送过来的数据
         * @return
         */
        @RequestMapping(value = "/shortUrl/{message}")
        public void listParkRecordout(@PathVariable("message") String message, HttpServletRequest request, HttpServletResponse response) throws IOException {
            Object obj = redisClient.get(ShortUrlUtils.SHORT_URL + ":" + message);
            if(obj == null) return;
            
            //重定向
            response.sendRedirect(obj.toString());
        }
    }
    

    参考地址:https://blog.csdn.net/u013782879/article/details/80851784

    展开全文
  • 1、概述 短网址的好处众多,便于记忆,占用字符少等,现在市面上出现了...2、利用微信公众号接口实现长链接转短链接 开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接...

    1、概述

    短网址的好处众多,便于记忆,占用字符少等,现在市面上出现了众多的将长网址转变为短网址的方法,但是由于他们都是小的公司在幕后运营,所以很不靠谱,面对随时关闭服务的可能,这样也导致我们将转换好了的短网址也会失效失链!那么怎样才能使转换好了的短网址永久有效呢?

    2、利用微信公众号接口实现长链接转短链接

    开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口转成短链接再生成二维码将大大提升扫码速度和成功率。微信公众号平台提供的长链接转短链接接口是:

    http请求方式: POST
    https://api.weixin.qq.com/cgi-bin/shorturl?access_token=ACCESS_TOKEN
    

    参数说明

    参数 是否必须 说明
    access_token 调用接口凭证
    action 此处填long2short,代表长链接转短链接
    long_url 需要转换的长链接,支持http://、https://、weixin://wxpay 格式的url

    调用举例

    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"
    

    返回说明,正常情况下,微信会返回下述JSON数据包给公众号:

    {"errcode":0,"errmsg":"ok","short_url":"http:\/\/w.url.cn\/s\/AvCo6Ih"}
    

    代码参考

    /// <summary>
    /// 长链接转短链接
    /// </summary>
    /// <param name="longUrl">长链接</param>
    /// <returns></returns>
    [HttpPost]
    [ValidateInput(false)]
    [LoginAuthorize]
    public ActionResult GetShortUrl(string longUrl)
    {
        WeixinOfficialAccountEntity currentWeixinOfficialAccountEntity = RDIFrameworkService.Instance.WeixinBasicService.GetCurrentOfficialAccountEntity(ManageProvider.Provider.Current());
        string token = currentWeixinOfficialAccountEntity.AccessToken;
    
    
        //微信请求地址
        string url = "https://api.weixin.qq.com/cgi-bin/shorturl?access_token=" + token;
    
        //请求的json参数
        string data = "{\"action\":\"long2short\",\"long_url\":\"" + longUrl + "\"}";
    
        string ret = string.Empty;
    
        try
        {
            byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(data); //转化
            HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(url));
            webReq.Method = "POST";
            webReq.ContentType = "application/json";
    
            webReq.ContentLength = byteArray.Length;
            Stream newStream = webReq.GetRequestStream();
            newStream.Write(byteArray, 0, byteArray.Length);//写入参数
            newStream.Close();
            HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
            var ce = response.ContentEncoding;
            StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
            ret = sr.ReadToEnd();
    
            sr.Close();
            response.Close();
            newStream.Close();
        }
        catch (Exception ex)
        {
    
        }
    
        //正常情况下,微信会返回下述JSON数据包给公众号:
        //{"errcode":0,"errmsg":"ok","short_url":"http:\/\/w.url.cn\/s\/AvCo6Ih"}
    
        string errcode = "";//错误码。
        string errmsg = "";//错误信息。
        string short_url = "";//短链接。
    
        //解析响应信息
        if (!string.IsNullOrWhiteSpace(ret))
        {
            JObject jo = (JObject)JsonConvert.DeserializeObject(ret);
            errcode = jo["errcode"].ToString();//错误码。
            errmsg = jo["errmsg"].ToString();//错误信息。
            short_url = jo["short_url"].ToString();//短链接。
        }	
        	
        return Content(new JsonMessage { Success = true, Data = short_url, Type = ResultType.Success, Message = errmsg }.ToString());
    }
    

    ##3、使用效果参考##
    长链接转短链接界面

    生成的短链接效果

    上面的界面我们把链接地址http://blog.rdiframework.net/article/190通过我们提供的长链接转短链接界面功能转成了短链接https://w.url.cn/s/ALO1xZC

    参考文章

    微信公众平台技术文档-官方

    Senparc.Weixin SDK + 官网示例源代码

    RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录

    RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍

    RDIFramework.NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用

    RDIFramework.NET代码生成器全新V3.5版本发布-重大升级


    一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。

    RDIFramework.NET官方网站:http://www.rdiframework.net/

    RDIFramework.NET官方博客:http://blog.rdiframework.net/

    同时需要说明的,以后的所有技术文章以官方网站为准,欢迎大家收藏!

    RDIFramework.NET框架由专业团队长期打造、一直在更新、一直在升级,请放心使用!

    欢迎关注RDIFramework.net框架官方公众微信(微信号:guosisoft),及时了解最新动态。

    扫描二维码立即关注
    微信号:guosisoft

    展开全文
  • 将一条长链接转短链接。 主要使用场景: 开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口短链接再生成二维码将大大提升扫码速度和成功率。 接口...
  • Android 长链接转短链接

    千次阅读 2017-08-01 17:30:10
    也看过很多文章有利用百度API的但是下架了用不了,还有利用算法的,新浪的API 以下是用Google 的长链接转短链接的 上代码: 需要源码的加我qq:2316454324 或者私信我
  • 1、概述 短网址的好处众多,便于记忆,占用字符少等,现在市面上出现了...2、利用微信公众号接口实现长链接转短链接 开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接...
  • springboot 实现长链接转短链接

    万次阅读 2018-06-29 10:02:00
    实现结果: 转换短链接api:接口:http://127.0.0.1/api?url=urlencode('要缩短的网址')例如:http://127.0.0.1/api?url=http%3a%2f%2fwww.baidu.com返回:http://127.0.0.1/baidu访问短链接即可还原原url;...
  • 我们不妨先来看一下短链接服务的整个流程,以前面提到的微博短网址服务为例。用户输入想要缩短的长网址,转化后得到一个以http://t.cn开头的短网址,然后用户将该链接通过微信或者微博等方式分享给朋友,其他人点击...
  • URL长链接转短链接

    千次阅读 2017-07-07 11:15:59
    最近看到微博的短链接真是很火啊,新浪、腾讯、搜狐等微博网站都加入了短链接的功能。之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少。短链接的主要职责就是...
  • 长链接转短链接(短网址)

    千次阅读 2018-08-05 11:10:00
    短链接服务就是将一段长的URL转换为短的URL,比如利用新浪微博的短链接生成器,可将一段长的URL(http://blog.csdn.net/poem_qianmo/article/details/52344732)转换为一段短的URL(http://t.cn/RtFFvic),用户...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,386
精华内容 554
关键字:

长链接转短链接