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

    千次阅读 2018-11-26 13:35:14
    需要说明的是,这里使用的是微博提供的接口,也就是说,这个短链接是微博给我们提供的 在网络上到一个我们工具站 http://dwz.wailian.work/anonymous.php 言归正传 微博开发平台API...

    前言

    需要说明的是,这里使用的是微博提供的接口,也就是说,这个短链接是微博给我们提供的

    在网络上到一个我们工具站

    http://dwz.wailian.work/anonymous.php

    QQ20181126-132204@2x

    言归正传

    微博开发平台APIhttp://open.weibo.com/wiki/2/short_url/shorten

    1、调用接口(主要部分)

    
        public  static String  LongToShortLink (String longUrl) {
    
            String requestUrl = "http://api.weibo.com/2/short_url/shorten.json?source=2849184197&url_long=urlLongParam";
            requestUrl = requestUrl.replace("urlLongParam", longUrl);
            String body = HttpHelper.handleGet(requestUrl);
            if(body.contains("false")){
                log.error(body);
            }
            return body;
        }
    

    2、Http请求类

    
    import lombok.extern.slf4j.Slf4j;
    import org.apache.commons.io.IOUtils;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.config.RequestConfig;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    
    @Slf4j
    public class HttpHelper {
    
    
        public static final String ENCODING_UTF8 = "UTF-8";
        public static final int OVERTIME = 2000;
    
        private static RequestConfig defaultRequestConfig(Integer over_time) {
            if (over_time == null) {
                return RequestConfig.custom().setSocketTimeout(OVERTIME).setConnectTimeout(OVERTIME).setConnectionRequestTimeout(OVERTIME).build();
            } else {
                return RequestConfig.custom().setSocketTimeout(over_time).setConnectTimeout(over_time).setConnectionRequestTimeout(over_time).build();
            }
        }
    
    
        /**
         * http 普通get请求
         *
         * @param uri
         * @return
         */
        public static String handleGet(String uri) {
            CloseableHttpClient httpclient = HttpClients.custom().build();
            HttpGet request = null;
            HttpResponse response = null;
            String result = null ;
            try {
                request = new HttpGet(uri);
                request.setConfig(defaultRequestConfig(null));
                response = httpclient.execute(request);
                result = IOUtils.toString(response.getEntity().getContent(), ENCODING_UTF8);
            } catch (Exception e) {
                log.error(e.getMessage(), e);
            } finally {
                IOUtils.closeQuietly(httpclient);
            }
            return result;
    
        }
    
    }
    

    3、main方法调用

    import com.hlj.linktoshort.data.ShortLinkResult;
    import com.hlj.linktoshort.utils.JsonUtils;
    import com.hlj.linktoshort.utils.LinkUtils;
    import com.hlj.linktoshort.utils.QrCodeUtils;
    import lombok.extern.slf4j.Slf4j;
    
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    
    /**
     * 类描述: 长连接转短链接
     *
     * http://api.weibo.com/2/short_url/shorten.json?source=2849184197&url_long=http://www.cnblogs.com
     */
    @Slf4j
    public class StartMain {
    
    
        public static void main(String[] args) {
    
            String longUrl = "" +
                    "https://blog.csdn.net/u012954706"
                    ;
    
            String sourceName = "origin.jpeg" ;
    
    
    
    
            String sourceFilePath = "/Users/healerjean/Desktop/"+sourceName;
            String saveFilePath = "/Users/healerjean/Desktop/A"+sourceName+".png";
    
            String shortLink =  LinkUtils.LongToShortLink(longUrl);
            ShortLinkResult shortLinkResult = JsonUtils.toObject(shortLink,ShortLinkResult.class );
            log.info("\n短链接:"+shortLinkResult.getUrls().get(0).getUrl_short()+"\n长链接:"+shortLinkResult.getUrls().get(0).getUrl_long());
        }
    

    4、实体类

    package com.hlj.linktoshort.data;
    
    import java.util.List;
    
    /**
     * 作者 :HealerJean
     * 日期 :2018/11/23  上午11:37.
     * 类描述:
     */
    public class ShortLinkResult {
    
        private List<UrlsBean> urls;
    
        public List<UrlsBean> getUrls() {
            return urls;
        }
    
        public void setUrls(List<UrlsBean> urls) {
            this.urls = urls;
        }
    
        public static class UrlsBean {
            /**
             * result : true
             * url_short : http://t.cn/h5FGy
             * url_long : http://www.cnblogs.com
             * object_type :
             * type : 0
             * object_id :
             */
    
            private boolean result;
            private String url_short;
            private String url_long;
            private String object_type;
            private int type;
            private String object_id;
    
            public boolean isResult() {
                return result;
            }
    
            public void setResult(boolean result) {
                this.result = result;
            }
    
            public String getUrl_short() {
                return url_short;
            }
    
            public void setUrl_short(String url_short) {
                this.url_short = url_short;
            }
    
            public String getUrl_long() {
                return url_long;
            }
    
            public void setUrl_long(String url_long) {
                this.url_long = url_long;
            }
    
            public String getObject_type() {
                return object_type;
            }
    
            public void setObject_type(String object_type) {
                this.object_type = object_type;
            }
    
            public int getType() {
                return type;
            }
    
            public void setType(int type) {
                this.type = type;
            }
    
            public String getObject_id() {
                return object_id;
            }
    
            public void setObject_id(String object_id) {
                this.object_id = object_id;
            }
        }
    }
    
    

    ContactAuthor

    展开全文
  • 使用微信接口制作的转短链接工具,需要有自己的微信测试号或者公众号生成的accesstoken,配置jdk环境变量才能使用(由于使用了exe4j打包,提示配置EXE_JAVA_HOME是和jdk环境变量一样的配置方法)
  • Go 实现短链接服务

    万次阅读 2021-07-21 15:48:08
    Go 实现短链接服务 我们在推广的时候,经常会碰到链接或者二维码的时候,这时候链接太长,看起来不太友好,生成的二维码也是密密麻麻的,所以会用到短链接服务。 主要思路 直接生成短链接短链接通过当前时间戳...

    Go 实现短链接服务

    我们在推广的时候,经常会碰到链接或者二维码的时候,这时候链接太长,看起来不太友好,生成的二维码也是密密麻麻的,所以会用到短链接服务。

    主要思路

    1. 直接生成短链接,短链接通过当前时间戳转换Base62

    2. 将长链接和短链接数据保存到数据库

    3. 生成的时候,先查看下链接有没有生成过,如果生成过,用之前生成的短链即可

    4. 生成之后,需要写个中间件做预处理,当前url是否为短链,如果是短链,直接重定向到 长链接去。

    5. 服务编写好后,Nginx加一段配置 ,针对短链转发到短链接服务。

    使用到的技术

    • gin web框架

    • gorm orm框架

    • viper 读取配置https://github.com/catinello/base62

    • base62 生成base62的工具包

    核心代码

    生成短链:

    func generateShort(longUrl string) string {
        var short ShortLink
        short.LongUrl = longUrl
        err := DB.Find(&short, &short).Error
        if err != nil {
            fmt.Println(err)
        }
        if short.ShortUrl != "" {
            return short.ShortUrl
        }
        rand.Seed(time.Now().UnixNano())
        var sb strings.Builder
        sb.WriteString("/")
        sb.WriteString(S_LINK)
        sb.WriteString("/")
        timestamp := time.Now().UnixNano() / 1e6
        sb.WriteString(base62.Encode(int(timestamp)))
        shortUrl := sb.String()
        shortInfo := ShortLink{
            ShortUrl: shortUrl,
            LongUrl:  longUrl,
        }
        DB.Create(&shortInfo)
        return shortUrl
    }
    

    请求预处理重定向:

    router.Use(Redirect(), gin.Recovery())

    func Redirect() gin.HandlerFunc {
        return func(context *gin.Context) {
            url := context.Request.URL
            var short ShortLink
            short.ShortUrl = url.String()
            err := DB.Find(&short, &short).Error
            if err != nil {
                fmt.Println(err)
            }
            if short.LongUrl != "" {
                context.Redirect(http.StatusMovedPermanently, short.LongUrl)
            }
        }
    }
    

    Nginx 配置:

    location "~/slink/([a-z]|[A-Z]|[0-9]){7,8}$" {
    ¦   proxy_pass http://127.0.0.1:7788;
    }   
    location /slink/short {
    ¦   proxy_pass http://127.0.0.1:7788/short;
    ¦   proxy_redirect off;
    ¦   proxy_set_header Host $host;
    ¦   proxy_set_header X-Real-IP $remote_addr;
    ¦   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    ¦   proxy_set_header X-Forwarded-Proto $scheme;
    ¦   client_max_body_size 30m;
    ¦   client_body_buffer_size 256k;
    ¦   proxy_connect_timeout   90; 
    ¦   proxy_send_timeout      180;
    ¦   proxy_read_timeout      180;
    ¦   proxy_buffer_size       256k;
    ¦   proxy_buffers           16 256k;
    ¦   proxy_busy_buffers_size 1024k;
    ¦   proxy_temp_file_write_size      1024k;
    }
    

    效果图

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7yvgBIac-1626853681515)(https://s1.ax1x.com/2020/10/23/BAF83Q.png)]

    data.short 就是短链接啦,访问试一下吧!

    项目地址:https://github.com/Fxuing/short-link

    展开全文
  • 短网址,又称短链接,英文名为Short URL,是一种形式上比较短的网址,使用跳转到方式代替长网址链接,形式美观,而且更容易分享。最出名的短网址服务有国外的bit.ly和谷歌goo.gl,以及国内的百度短网址dwz.cn、新浪...

    短网址,又称短链接,英文名为Short URL,是一种形式上比较短的网址,使用跳转到方式代替长网址链接,形式美观,而且更容易分享。最出名的短网址服务有国外的bit.ly和谷歌goo.gl,以及国内的百度短网址dwz.cn、新浪微博t.cn、腾讯url.cn、缩我suo.im和新浪短网址等短链接服务商,但是bit.ly在国内链接打开不稳定,而百度短网址开始全面转向企业服务,而不再为个人用户提供服务,同时t.cn、url.cn和suo.im都相继关闭,我们使用起来越来越不方便了。除此之外,短网址短链接哪个好用?一灯不是和尚在这里给大家推荐一些非常好用且靠谱的短链接生成网站。
    1、新浪短网址
    新浪短网址服务(Sina.lt)是互联网上最稳定、最安全、最快速的短网址服务,帮您把冗长的URL地址缩短成8个字符以内的短网址。
    新浪短网址官网:https://sina.lt/
    截至目前,新浪短网址生成的短网址永久有效,请放心使用。虽然如此,但是在强监管态势下,短网址服务能方便使用多久,还真是很难说,所以新浪短网址做得真心不错。
    2、Bitly
    Bitly是一家专业的国外流行的短网址生成工具,也是一款非常强大的短链接点击统计工具。使用bitly创建短链接后,你可以在后台查看点击的统计数据,比如点击量、来路分析、访客位置等,这些功能都可以免费使用。如果你升级到付费版,还可以使用自己的自定义域名,通过品牌为访客增加更多的信任度。对于经常需要使用短链的用户,你还可以安装它的浏览器扩展和APP,更加快捷方便的使用短链接。不过由于bitly在国内并不能经常打开,所以它只适合海外用户使用。
    Bitly官网:https://bitly.com/
    3、51LA短链接
    51LA短链接平台是由51LA统计推出的一个短链分发平台,是为网络营销人员制作的短链接生成平台,免费且功能非常强大。

    51LA短链接官网:https://dwz.51.la/

    51LA短链支持非常多类型的短链接,其中包括:

    设备跳转,比如桌面端、移动端、iOS、Android等
    地区跳转,可以为不同的省份、城市设置不同的跳转链接
    时间段跳转,在不同时间打开会跳转不同网址
    参数跳转,根据网址后面参数跳转不同网页
    随机跳转,多个链接随机跳转
    几乎我们能够想到的场景,都可以在51LA短链中实现。在营销中,除了流量分发外,信息统计也是非常重要的一步,51LA中同样提供了非常强大的分析功能,比如:点击量分析、地区统计、设备分析、访问明细。相比于其他短链接平台,51LA可以说功能很专业了,非常适合营销人员使用。

    注意事项:非登录用户生成的51LA短链接在30分钟内有效,而登录用户生成的短链接,则永久有效。

    4、零宽度短网址
    零宽度短网址(Zero Width Shortener)生成的所有短网址都是一样的,无论你用多长的源地址,最后得到的短网址都是 zws.im/‍‍‌‌‌‌‌‍‍‍‍ (需要注意后边的斜杠是不能删除的),所以你使用ZWS生成的短网址比起其他的任何短网址工具生成的都要短,更加节省空间,而且因为网址看起来都一样,还可以达到隐藏链接的效果。是不是很神奇?我现在也不知道它的原理。
    零宽度短网址官网:https://zws.im/
    注意事项:跟Bitly短网址一样,零宽度短网址在国内无法正常跳转。
    至于其他的短网址短链接网站还有很多,但是不知道能活多久,你如果用来做推广,很可能最后竹篮打水一场空。

    展开全文
  • 分享一个IAPP短链接生成源码,源码小巧,功能实用,有兴趣的可下载来学习一下 支持生成三种短链接 短链接,自定义短链接 带密码短链接,源码免费开源,源码仅供学习!
  • 客户系统软件、社交媒体共享、短链接统计分析、短链接自定、多个国家語言适用、社交媒体共享及其API系统软件等。 这个是我们见的目前此类功能最强大的短网址源码,支付方式只有paypal,要运营的话找人对接一下国内支付...
  • 相信大家对于短链接短网址不会陌生,短链接短网址的被广泛的使用在电商推广、微信、QQ群推广,短信营销等。缩短链接,美化二维码,全面提升推广文案美观度,还能实时监测推广效果。但是新浪关闭了短网址的App Key后...

    相信大家对于短链接短网址不会陌生,短链接短网址的被广泛的使用在电商推广、微信、QQ群推广,短信营销等。缩短链接,美化二维码,全面提升推广文案美观度,还能实时监测推广效果。但是新浪关闭了短网址的App Key后,大量的短网址短链接用户,仿佛失去了左膀右臂。开始在网上搜索各种短网址短链接的在线生成接口,但是做这块产品的商家众多,让人无法抉择。我在对比了十几家短网址服务商之后,力荐千浪短链接,其他一些第三方的短链接服务商,经常会发现链接的跳转不正常。打不开的情况!导致这边的推广转化比非常低。但是在使用猴子数据短链接后跟之前的对比在打开的速度和稳定性上面相比好了很多。转化率也上去了!

    在这里插入图片描述
    PHP
    在这里插入图片描述
    技术地址 https://url.cn/XPLBmy2R

    展开全文
  • php实现短链接系统

    万次阅读 2017-03-15 20:07:21
    这样的短链接制作二维码也是易于识别。) 方便后台跟踪点击量、地域分布等用户统计。(统计流量访问,延伸可以做网址举报屏蔽。只屏蔽短链接即可,控制输出。) 规避关键词、域名屏蔽手段。 隐藏真实地址,适合做付费...
  • 使用.net自建短链接(短网址)工具

    千次阅读 2017-09-24 22:10:28
    连接大家都不陌生,例如新浪的 t.cn 、京东的 3.cn 、淘宝的 tb.cn 等等。...首先解释下连接的实现原理,相信很多读者,在看完原理之后,已经有能力自己编写这样一个工具出来。 连接构成:协...
  • 推荐两款超赞的新浪短网址链接生成器和两个稳定的t.cn短链接缩短api接口给大家,亲测非常稳定,个人感觉超赞,可以免费地生成永久有效的t.cn短链接。短域名的应用场景很广,譬如短信营销、微博吸粉、淘宝商品分享、...
  • 调用百度地图的定位功能,然后通过短信将自己的位置信息通过短信分享出去,并且加链接短串。  定位功能大家都很熟悉,得到当前的位置信息也是很简单,但是生成链接短串这个问题咋弄。然后下载看百度的demo 然后找...
  • 如何设计并实现一个短链接服务?

    千次阅读 2019-08-05 16:48:02
    面试官:你平时是否留意过一些垃圾短信中包含短链接? 候选人:有的,就像下面这样! 面试官: 为什么选择这种短链接这种方式? 有什么好处? 如果让你实现一个短链接的生成服务,你会怎么设计? ...
  • t.cn短链接是新浪官方的短网址工具,提供在线将长链接缩短为最短形式的t.cn链接服务,生成的短网址跳转速度和访问兼容性没有任何影响,生成好的短网址永久有效,还可以通过对接调用api接口和批量生成的方式更加轻松...
  • 如何制作wordpress代码

    千次阅读 2015-01-07 10:29:27
    如何制作WordPress代码  大家好,这是我的第一次在CSDN发布博客,我是个新手,今天我写的是如何制作wordpress代码,第一次献丑,请多多指教。 A. 代码和普通 HTML 的编写形式不是很相同,采用的是方括号的...
  • 青桃短链接是一个老牌的第三方短链接服务平台了。对于其技术支持和服务质量来说,可以说是国内最好的短链接服务商之一。 该平台可让您通过简单地复制粘贴链接就能缩短你的长链接,您在几秒钟内就可以设置一个新的...
  • 图片制作短视频

    2019-01-23 16:11:52
    所用软件:数码大师2013白金版、Bandicam、格式工厂 安装包及安装步骤: 链接:https://pan.baidu.com/s/1jTqpp1KARbpWC2a-VBcWrw 密码:cxje   数码大师2013白金版介绍: ...2明确自己有多少图片,...
  • 短链接可以说每个商家都使用过,因为短链接在网络营销中被广泛的使用是在于其使用价值。短链接可以美化链接、易于记忆、规避网址被墙、提高点击率等等。...任何用户都可以匿名使用该平台的短链接接口缩短自己的网...
  • 最近支付宝的领红包可真是刷爆了各个微信群啊,满群都是支付宝口令。支付宝推出的抢“10亿红包”进行的十分炽热,各大网站、QQ群微信群里都是...所以,是否可以在微信里面点一个链接然后直接打开支付宝并自动领取呢?
  • vkcc 简单的cli工具,用于从vk.cc生成网址链接
  • 点击链接跳转到加QQ好友链接怎么生成的?...其中uin=2445408174 这后面的是个人QQ,你可以更换成自己的QQ,点击链接就可以实现跳转到添加你QQ好友的界面。 效果是这样的: 点击链接跳转到加QQ群代码是怎么...
  • 最近支付宝红包风靡全国,真的是谁的群多并且发的比其他人早就能很赚一笔,目前想要拿到红包有以下两种途径 ... 说明:上周末还可以的,根据短链接直接跳转到支付宝,前几天微信把这个给屏蔽了,所以中间就加了一个额外
  • 易语言动态链接制作教程

    千次阅读 2014-03-22 14:33:11
    关于易语言 DLL 从易语言 3.6 版开始,已经能够支持对DLL动态链接库的开发, 编译出的DLL是标准的DLL,和其他编程语言生成的标准 DLL 的调用方法相同。易语言编写出的DLL,在非独立编译exe时只需要DLL文件随应用...
  • 输入长链接即可生成短链接,格式为xxx.qvdd.cn。 为什么要用二级域名? 市场上短网址系统已经够多了,不乏大公司的产品,它们都是域名+后缀的形式,例如t.cn/ABCDEFGHJ或者url.cn/ABCDEFG。百度了很久都没找到子...
  • 什么是直链/BP链接? BP即ByPass,其可以跳...如何制作直链/BP链接? 不同的商品,有不同的BP链接。 1、优惠券商品,或者没有任何属性的商品 BP链接格式:https://h5.m.taobao.com/cart/order.html?itemId=647457
  • 很多网友在网上通过短网址发布信息时,无法统计... ... PS: 其实,用自己的域名不仅可以显得出逼格,其实更重要的是为了更好的统计转化。...简介 YOURLS是一款使用PHP+Mysql开发的短链接程序,相比公共短网址好处是数据掌...
  • Url连接实现原理与方法

    万次阅读 2018-05-29 18:36:01
    即使当我们记录到1亿条时,1亿的64进制为:F9eEA,才5个字符长度,非常适合作为短链接的参数。然后组合成 http://域名/编码参数/。我们既得到了短链接。当我们访问短链接时,解析参数转为10进制。到数据库中查找获得...
  • 传统的跳转功能是当您访问A链接时候,打开后会根据条件是否显示B链接,以达到针对不同访客显示不同的内容的目的,但有一个缺点,就是跳转后的B链接和跳转前的A链接url不一致, 导致访客体检不佳,如果是推广账户则...
  • H5链接生成二维码

    千次阅读 2020-06-30 10:52:09
    H5链接生成二维码用于分享好友长按识别打开 解决方案 使用url网址服务,压缩网址,将网址生成二维码 例如:http://html5.wddddddddddddd.cn/youku/kkkkk/index.html, 用 草料二维码生成器直接生成 ,生成的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,496
精华内容 11,798
关键字:

如何制作自己的短链接