生成新浪短网址、百度短网址,t.cn / dwz.cn 的生成方式,短链还原

soゝso 2019-06-03 11:23:41 33751

应本站用户要求开发了短链生成服务,市面上的短链鱼龙混杂,这里也说明一下这个背后的产业,我们在使用过程中请擦亮眼睛去使用。

短链工具地址:https://www.sojson.com/dwz.html


一、短链使用的风险

1、稳定性

    我们使用短链肯定希望短链服务稳定,现在开发成本低,导致随便几个小时就可以搞一套短链服务,买一个短一点的域名,开始开放出来给用户使用,用一段时间后,随着运营成本增加,说停用就停用了。

2、收费风险

    短链开始火的时候好多这样的产业滋生出来,一般手段是开发一个短链服务,好多都直接上百度推广,让你免费用,等你用一段时间后,开始拦截你的链接跳转,然后开始收费(一般理由为“由于大量用户举报,所以停封,需要付费解封”),而这个时候你的系统一般都上线了,或者都推广出去了,好多人短链服务生成都是为了降低二维码的复杂性,二维码都印好了推广出去了,不好修改,所以你没办法,必须付费。

二、短链的使用场景

1、短信带链接

    手机发短信的时候,由于字数限制,另外我们一般的链接过长,主要是因为域名过长,再加上乱七八糟的参数,发出去短信难看的很,用了短链后就很优雅了。

2、短链接生成二维码

    二维码的火爆和便捷,也带来了一个难题,我们都知道二维码表达的内容有限,内容越多,二维码看上去越复杂,而且识别率越低,尤其配置较低的手机比较难识别内容很多的二维码,我们用短链可以解决这个问题。先把长链转成短链,然后再去生成二维码

三、短链的生成    

1、百度短链(dwz.cn)生成

dwz.cn就是短网址的首拼音缩写,由百度提供服务。

优点:稳定,毕竟是大公司开发。有数据报表:https://dwz.cn/console/report

缺点:网址必须百度收录了才可以生成。

>>正规生成:

①.申请apikey

申请网址:https://dwz.cn/console/userinfo需要开通开发者,跟着提示走就可以了。

②.接口代码

常用的语言都有:https://dwz.cn/console/apidoc

然后HTTP调用即可生成。

抓包生成:

百度短网址的官方生成地址:https://dwz.cn/

生成的时候直接可以抓包:https://dwz.cn/admin/v2/create

参数就一个:{"url":"你要生成的URL"}

这里就不过多讲解。

2、新浪短链(t.cn)生成

主要讲解新浪短链,直接上代码。

//链接要做urlencode编码
const u = encodeURIComponent("你要转码的长连接");
$.ajax({
    url:"https://api.weibo.com/2/short_url/shorten.json?source=2849184197&url_long={%u}".fmt({u}),
    dataType:'jsonp',
    success:function (data) {
        if(data  && data.code ===1 ){
            var url = data.data.urls[0].url_short;
            outShortInfo(url);//输出短链方法
        }else{
            layer.msg('生成失败',so.defn);
        }
    }
});

直接  jsonp  调用,source直接使用2849184197即可,是官方的key,放心使用。

就一个参数url_long=你生成的URL,注意这里要做urlcode编码。

urlcode编码在线工具:https://www.sojson.com/encodeurl.html

四、短链的解码

每一个短链服务一般自己会对应一个解码服务,我懒得对接,而且现在的短链鱼龙混杂,所以我就直接写了一个通用的。直接上代码。

import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.HeadMethod;
import org.apache.commons.httpclient.params.HttpParams;

/**
 * 短链 解析成长链
 * @param url
 * @return
 */
public static SOMap parse(String url){
    HttpClient client = new HttpClient();
    HttpMethod method = new HeadMethod(url);
    try {
        HttpParams params = client.getParams();
        params.setParameter(AllClientPNames.HANDLE_REDIRECTS, false);
        client.executeMethod(method);
        String aurl = method.getURI().getURI();
        if(StringUtils.equals(url,aurl)){
            method.releaseConnection();
            method =   new GetMethod(url);
            params = client.getParams();
            params.setParameter(AllClientPNames.HANDLE_REDIRECTS, false);
            client.executeMethod(method);
            aurl = method.getURI().getURI();
            return SOMap.success().push("url",aurl);
        }
        method.releaseConnection();
        return SOMap.success().push("url",aurl);
    } catch (IOException e) {
        Header headers = method.getResponseHeader("Location");
        if(null == headers || null == ( url = headers.getValue())){
            return SOMap.error("解析失败,确认链接是否存在");
        }
    }
    return SOMap.success().push("url",url);

}

其实就是通过  http  请求,获取301302后的url,有利有弊,使用了2种方式获取,其他的语言模仿写就可以了。里面的SOMap为我的封装,其实就是一个map,我为了方便链式变成继承了LinkedHashMap。另外AllClientPNames.HANDLE_REDIRECTS = "http.protocol.handle-redirects"。


版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/330.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
2019年9月16日新浪API已经恢复使用,新浪服务官方已经宣布停用。本站已经攻克
百度秒收录教程,怎么做到百度秒收入你的页面,SEO 教程
SOJSON 使用又拍云 CDN 整体架构,解决百度 SEO 方案
Javascript 生成UUID,Java生成UUID
MyEclipse8.5 注册码生成 Java代码实现方式。永久免费
Java生成验证码合集(一)简单版
json 解析与生成工具类 ,JSON操作讲解(附件)
Java 完美解析.plist & 生成plist ,Android 解析.plist
Springboot + Mybatis +Maven 自动生成 Mapper.xml,Entity,Dao。 generator 配置
微信支付功能--PC端生成二维码,实现扫描支付功能
最新文章
使用七牛云存储实现图片API,自动删除图片方案合集 409
神速ICP备案经验分享,ICP备案居然一天就通过了 1641
百度加强推送URL链接,百度SEO强行推送链接JavaScript代码案例讲解。 2648
SOJSON 拓展服务器被DDos攻击了一晚上,是如何解决的? 2885
湖南地区备案“新增网站需提交组网方案或解释说明”,关于备案做简单叙述 2859
企查查你是个什么企业,骗子的帮凶,诈骗的集中营,通过企查查骚扰企业电话不断,为所欲为的企查查 8929
Java爬取百度云观测对网站的检测数据,获取子域名及域名的安全信息 2388
【2020年】百度搜索词获取,获取百度搜索的关键词【真实有效】 6270
Nodejs环境安装,Nodejs环境安装一篇就够了 1610
iOS版淘宝打开提示“您使用的程序是内测版本,将于2020-03-28到期,到期将无法使用,请尽快下载最新版本” 2411
最热文章
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 423282
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 414091
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 347033
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 298991
免费天气API,天气JSON API,不限次数获取十五天的天气预报 278629
Elasticsearch教程(四) elasticsearch head 插件安装和使用 216231
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 167946
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 133806
Elasticsearch教程(一),全程直播(小白级别) 117088
Elasticsearch教程(五) elasticsearch Mapping的创建 97477

骚码加入我们 / 千人QQ群:259217951

入群需要5元为的是没有垃圾广告,如果没有QQ钱包,可以加群主拉进。

二维码生成 来自 >> 二维码生成器

支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...