`

java 生成短链接

    博客分类:
  • Java
阅读更多
有时候,我们给用户发送一些短信中,涉及到url问题,如果一个url太长,那么很可能就是两条短信的内容。解决这个问题的方法就是缩短url的长度,如何来缩短呢,我想有两种方法来完成。

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短链接生成.zip

    这个名为"java短链接生成.zip"的压缩包文件提供了一个基于SpringBoot框架的Java实现,用于生成短链接。让我们深入探讨一下这个项目的核心知识点,以及如何利用它来创建和管理短链接。 首先,我们要了解SpringBoot。...

    Java实现短链转换项目

    在短链服务中,布隆过滤器可以防止重复生成相同的短链接。由于其占用空间小且查询速度快,可以有效地处理大量数据,避免了因重复生成短链导致的数据库冲突问题。然而,需要注意的是,布隆过滤器可能会有误判(False ...

    在线生成短链接的原因及实现工具.docx

    在线生成短链接是一种常见的互联网实践,它通过将冗长的URL转化为简短的字符串,带来了诸多益处。短链接的主要作用在于优化分享、提高用户体验、便于数据追踪以及增强链接的安全性。 首先,缩短内容长度是生成短...

    Java微信长链接转短链接

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

    java短网址服务(TinyURL)生成算法

    Java 短网址服务(TinyURL)生成算法 本文主要介绍了 Java 短网址服务生成算法的实现细节,包括生成全局唯一的数字和实现进制的转换两个关键点。生成全局唯一的数字可以使用 Redis 的 incr 操作、MySQL 的 ...

    基于Java的短链接生成工具设计与实现源码

    该项目是一款基于Java开发的短链接生成工具,集成了Java、Vue、JavaScript、CSS和HTML等多种语言技术,总文件量达到280个。主要包含187个Java源文件、22个PNG图片、19个Vue组件、11个XML、JavaScript和JSON文件等。...

    短链接生成及返回访问源码

    本文将深入探讨短链接生成及返回访问的原理,并结合提供的源码进行解析。 首先,让我们理解短链接的基本工作原理。传统的长URL可能包含很多参数,显得冗长且不便于记忆。短链接系统通过一个映射机制将长URL转化为...

    java 文字或链接生成二维码代码

    这个简单的例子展示了Java生成二维码的基本流程,但实际应用中可能需要考虑更多的细节,比如调整二维码的大小、颜色、边距等。此外,如果需要处理大量请求,可以考虑使用多线程或者异步处理来提高效率。对于链接生成...

    基于Java语言的短链接生成器设计源码

    该项目是一款基于Java语言的短链接生成器设计源码,包含37个文件,其中Java源文件19个,XML配置文件8个,并提供完整的开发环境支持,包括Git忽略、项目许可等必要文件。系统设计灵活,能够满足多种场景下的短链接...

    2023最新防红短链接在线生成源码内置接口无广告.zip

    《2023最新防红短链接在线生成源码内置接口无广告》 在这个数字化的时代,网站和应用程序的安全性越来越受到重视。防红短链接,全称“防止被红包钓鱼的短链接”,是一种用于保护用户免受恶意链接攻击的技术。2023年...

    Java 短链接测试程序

    Java URL Shortener 是一个用于将长链接转换为短链接的测试程序,主要针对那些需要在有限空间内展示链接,如二维码生成、微博分享等场景。这个程序整合了国内外多个知名的短链服务API,使得开发者可以方便地进行长...

    java 生成32位UUID

    生成32位的UUID在某些场景下很有用,比如在生成短链接、数据库主键或需要紧凑唯一标识时。Java标准库提供了一个`java.util.UUID`类,用于生成和操作UUID。然而,这个类默认生成的是128位的UUID,即32个16进制字符...

    基于Java和HTML的短链接生成平台后端设计源码

    该平台为基于Java和HTML开发的短链接生成服务后端源码,包含202个文件,涵盖183个Java源代码文件、8个XML配置文件、5个YAML文件、1个Git忽略文件、1个Markdown文档、1个Lua脚本、1个配置文件、1个ICO图标文件和1个...

    (源码)基于SpringBoot和Redis的短链接生成系统.zip

    系统支持生成短链接、管理短链接、统计短链接访问量等功能,适用于需要短链接服务的各种场景。 ## 项目的主要特性和功能 1. 短链接生成支持将长链接转换为短链接,并生成对应的二维码。 2. 短链接管理提供短链接的...

    shortlink:Springboot + h5 短链接生成

    【标题】"Springboot + h5 短链接生成"涉及到的是使用Spring Boot框架与HTML5技术构建一个短链接生成系统。在这个系统中,Spring Boot作为后端处理逻辑,而HTML5则作为前端用户界面,提供友好的用户体验。 **Spring...

    基于JDK17+SpringBoot3&SpringCloud微服务架构的短链接生成服务设计源码

    该项目是一款基于JDK17、SpringBoot3和SpringCloud微服务架构的短链接生成服务设计源码,包含293个文件,涵盖190个Java源代码文件、26个PNG图片文件、19个Vue组件文件、11个JavaScript文件、9个YAML配置文件、6个XML...

    一个基于SpringBoot 开发的在线短链生成系统.zip

    1、将长链接转换成短链接,访问短链接时, 302重定向至原始长链接 2、支持设置短链有效期 3、支持记录访问次数 一个基于SpringBoot 开发的在线短链生成系统源码 实现功能 1、将长链接转换成...

    一键生成短域名生成系统.zip

    在某些平台上,频繁或大规模生成短链接可能会被视为垃圾信息,从而导致账号被限制或封禁。防封功能通常包括但不限于设置延迟生成、随机IP切换、限制生成速度等策略。 “只有几百k,也没的后台”,这表明该系统可能...

    提取文件中百度云链接与提取码的java源码

    5. **处理链接**:对于每个链接,可能需要进一步解析,例如,链接可能是加密的短链接,需要通过HTTP请求解密成实际的下载地址。 6. **下载文件**:最后,使用`java.net.URL`和`java.nio`包提供的工具,或者第三方库...

    AutoCode代码生成器(JAVA版)

    您是不是因为java的开发和维护繁琐而烦恼,目前政府机关、企业大都要求用java来开发项目,本软件将彻底解决您的后顾之忧,通过本软件的自动生成功能,生成的java代码规范、全部开源,不存在用隐含的内容,全部代码...

Global site tag (gtag.js) - Google Analytics