- 浏览: 52755 次
文章分类
最新评论
有时候,我们给用户发送一些短信中,涉及到url问题,如果一个url太长,那么很可能就是两条短信的内容。解决这个问题的方法就是缩短url的长度,如何来缩短呢,我想有两种方法来完成。
1. 生成一定长度字符串与url的映射
如:http://xxx/xxx/?code=123abc25
其中123abc25就是一个与url对应的编码,这样在后台接收后,根据映射取出url,再做重定向
操作。
2. 利用短链接来完成
这个在微博、微信中很常用,分享一个地址,不可能很长,就利用了这个原理,从最根本上它
是进行了重定向跳转操作。
下面通过一个例子来加以说明。
最后的结果是http://dwz.cn/1X9xaw,是不是短多了呢。
1. 生成一定长度字符串与url的映射
如:http://xxx/xxx/?code=123abc25
其中123abc25就是一个与url对应的编码,这样在后台接收后,根据映射取出url,再做重定向
操作。
2. 利用短链接来完成
这个在微博、微信中很常用,分享一个地址,不可能很长,就利用了这个原理,从最根本上它
是进行了重定向跳转操作。
下面通过一个例子来加以说明。
public class shortDemo { public static HttpClient httpclient; static { // 构造 HttpClient httpclient = new DefaultHttpClient(); } public static String generateShortUrl(String url) { try { // 构造发送post请求 HttpPost httpost = new HttpPost("http://dwz.cn/create.php"); List<NameValuePair> params = new ArrayList<NameValuePair>(); // 传递请求参数 params.add(new BasicNameValuePair("url", url)); // 用户名称 httpost.setEntity(new UrlEncodedFormEntity(params, "utf-8")); // 发送请求并且获取执行结果 HttpResponse response = httpclient.execute(httpost); // 获取结果内容 String jsonStr = EntityUtils .toString(response.getEntity(), "utf-8"); // 将结果转成json对象 JSONObject object = JSON.parseObject(jsonStr); // 获取短链接地址url return object.getString("tinyurl"); } catch (Exception e) { e.printStackTrace(); return "Error"; } } public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("http://pay.xiaojukeji.com/new_hb/EHongbao/gethongbao?id=56187735c4ce5&codes=b642e7801a6abaaf03e51f1489fc26e5&sign=C8B40FFB024CF9A5DCE99A9D6AD4071E"); System.out.println(generateShortUrl(list.get(0))); } }
最后的结果是http://dwz.cn/1X9xaw,是不是短多了呢。
发表评论
-
Java IO 读文件的各种方法总结
2016-01-01 15:00 693IO分为字节流和字符流,字符就是简单的字符串存储,从理伦上讲, ... -
动态代理的应用
2015-12-22 17:30 730代理模式作为开发人员 ... -
Java Restful
2015-12-19 14:01 437对于两个系统之间交互信息,有两种常见的方式:webservic ... -
request.getInputStream() 只能读一次的解决方法
2015-12-17 12:17 2376我们知道request.getInputStream()只能读 ... -
java Hessian 版本冲突问题解决方法
2015-12-11 19:44 861今天在实际的项目发现了一个问题就是hessian的版本不兼容的 ... -
ThreadPoolExecutor参数讲解
2015-12-10 08:14 8141. 线程池可以节省创建多个线程带来的开销问题。 2. 线程 ... -
Java RSA 加密 解密 签名 验签
2015-12-09 10:01 61441. 加密的作用 1)明文变密文(你不知道密钥是很难解密的) ... -
Java Xstream xml 与bean之间的转换
2015-12-09 08:31 744xml文件如下: <mvc> & ... -
XPATH 解析XML
2015-12-09 08:28 4321. 表达式描述 nodename 选取此节点的所有子节 ... -
Java Dom4j 解析XML
2015-12-09 08:23 362Dom4j和JDom是很相似的,用起来十分方便。 XML文件 ... -
Java JDom 解析xml
2015-12-09 08:22 413JDOM在解析XML在代码量之上比之前的方法(DOM和SAX要 ... -
Java SAX 解析xml
2015-12-08 18:13 416在上一篇中http://gaofulai1988.iteye. ... -
Java XML解析系列
2015-12-08 18:00 746Java解析XML有多种方式,因此需要分为几个不同的系列来讲。 ... -
Java 背包算法计算从数组中找若干个数使其最接近某个数
2015-12-08 17:38 1983背包的算法的动态方式如下: f(i,w) = max{ f(i ... -
C3P0 连接分析
2015-12-01 19:05 888最近在看C3P0的原理,还是将C3P0的源码导入到Ecplis ... -
微信开发的原理
2015-11-30 10:10 1314微信在现在的生活中,扮演着举足轻重的角色,现在怎么东西都在微信 ... -
JAVA Timestamp 与Data的转化以及BigDecimal 保留两位小数
2015-11-27 14:47 16921. BigDecimal 保留两位小数 今天在项目中遇到这 ... -
java try catch finally return 继续
2015-11-27 13:45 400之前在博客中有一篇文章讨论过异常中return值的情况,有兴趣 ... -
Java JDBC executeBatch 批量操作
2015-11-27 08:05 1625对JDBC 的 CRUD操作,我相信对于每个开发人员来讲,是十 ... -
Java WeakHashMap 分析
2015-11-26 08:17 617昨天在我们的系统中看 ...
相关推荐
这个名为"java短链接生成.zip"的压缩包文件提供了一个基于SpringBoot框架的Java实现,用于生成短链接。让我们深入探讨一下这个项目的核心知识点,以及如何利用它来创建和管理短链接。 首先,我们要了解SpringBoot。...
在短链服务中,布隆过滤器可以防止重复生成相同的短链接。由于其占用空间小且查询速度快,可以有效地处理大量数据,避免了因重复生成短链导致的数据库冲突问题。然而,需要注意的是,布隆过滤器可能会有误判(False ...
在线生成短链接是一种常见的互联网实践,它通过将冗长的URL转化为简短的字符串,带来了诸多益处。短链接的主要作用在于优化分享、提高用户体验、便于数据追踪以及增强链接的安全性。 首先,缩短内容长度是生成短...
使用微信接口制作的转短链接工具,需要有自己的微信测试号或者公众号生成的accesstoken,配置jdk环境变量才能使用(由于使用了exe4j打包,提示配置EXE_JAVA_HOME是和jdk环境变量一样的配置方法)
Java 短网址服务(TinyURL)生成算法 本文主要介绍了 Java 短网址服务生成算法的实现细节,包括生成全局唯一的数字和实现进制的转换两个关键点。生成全局唯一的数字可以使用 Redis 的 incr 操作、MySQL 的 ...
该项目是一款基于Java开发的短链接生成工具,集成了Java、Vue、JavaScript、CSS和HTML等多种语言技术,总文件量达到280个。主要包含187个Java源文件、22个PNG图片、19个Vue组件、11个XML、JavaScript和JSON文件等。...
本文将深入探讨短链接生成及返回访问的原理,并结合提供的源码进行解析。 首先,让我们理解短链接的基本工作原理。传统的长URL可能包含很多参数,显得冗长且不便于记忆。短链接系统通过一个映射机制将长URL转化为...
这个简单的例子展示了Java生成二维码的基本流程,但实际应用中可能需要考虑更多的细节,比如调整二维码的大小、颜色、边距等。此外,如果需要处理大量请求,可以考虑使用多线程或者异步处理来提高效率。对于链接生成...
该项目是一款基于Java语言的短链接生成器设计源码,包含37个文件,其中Java源文件19个,XML配置文件8个,并提供完整的开发环境支持,包括Git忽略、项目许可等必要文件。系统设计灵活,能够满足多种场景下的短链接...
《2023最新防红短链接在线生成源码内置接口无广告》 在这个数字化的时代,网站和应用程序的安全性越来越受到重视。防红短链接,全称“防止被红包钓鱼的短链接”,是一种用于保护用户免受恶意链接攻击的技术。2023年...
Java URL Shortener 是一个用于将长链接转换为短链接的测试程序,主要针对那些需要在有限空间内展示链接,如二维码生成、微博分享等场景。这个程序整合了国内外多个知名的短链服务API,使得开发者可以方便地进行长...
本项目是一款基于Java与多语言融合的短链接生成与跳转系统源码,包含282个文件,涵盖185个Java源文件、24个PNG图片文件、19个Vue文件、13个YAML文件、11个JavaScript文件、6个XML文件、6个SVG文件、3个JSON文件、2个...
生成32位的UUID在某些场景下很有用,比如在生成短链接、数据库主键或需要紧凑唯一标识时。Java标准库提供了一个`java.util.UUID`类,用于生成和操作UUID。然而,这个类默认生成的是128位的UUID,即32个16进制字符...
该平台为基于Java和HTML开发的短链接生成服务后端源码,包含202个文件,涵盖183个Java源代码文件、8个XML配置文件、5个YAML文件、1个Git忽略文件、1个Markdown文档、1个Lua脚本、1个配置文件、1个ICO图标文件和1个...
系统支持生成短链接、管理短链接、统计短链接访问量等功能,适用于需要短链接服务的各种场景。 ## 项目的主要特性和功能 1. 短链接生成支持将长链接转换为短链接,并生成对应的二维码。 2. 短链接管理提供短链接的...
【标题】"Springboot + h5 短链接生成"涉及到的是使用Spring Boot框架与HTML5技术构建一个短链接生成系统。在这个系统中,Spring Boot作为后端处理逻辑,而HTML5则作为前端用户界面,提供友好的用户体验。 **Spring...
该项目是一款基于JDK17、SpringBoot3和SpringCloud微服务架构的短链接生成服务设计源码,包含293个文件,涵盖190个Java源代码文件、26个PNG图片文件、19个Vue组件文件、11个JavaScript文件、9个YAML配置文件、6个XML...
1、将长链接转换成短链接,访问短链接时, 302重定向至原始长链接 2、支持设置短链有效期 3、支持记录访问次数 一个基于SpringBoot 开发的在线短链生成系统源码 实现功能 1、将长链接转换成...
在某些平台上,频繁或大规模生成短链接可能会被视为垃圾信息,从而导致账号被限制或封禁。防封功能通常包括但不限于设置延迟生成、随机IP切换、限制生成速度等策略。 “只有几百k,也没的后台”,这表明该系统可能...
5. **处理链接**:对于每个链接,可能需要进一步解析,例如,链接可能是加密的短链接,需要通过HTTP请求解密成实际的下载地址。 6. **下载文件**:最后,使用`java.net.URL`和`java.nio`包提供的工具,或者第三方库...