short-url-service

目的:简单造轮子 + 复习旧的知识

项目介绍

简单短链服务器,算法参考

软件架构

依赖

servlet3.0+

HikariCP

Gson

lettuce redis

SPI

使用说明

clone git code

gradle tomcatRun

可以修改SPI实现,目前实现了简单内存实现和redis实现两种方式

提供了短链生成API,使用token + json + post方式

测试

请求生成短链样例

短链生成请求:

curl -v -i -X POST -H "Content-type:application/json" -H "token:123" -d '{"url":"https://www.baidu.com"}' http://localhost:8080/sus/create

短链生成响应:

* About to connect() to localhost port 8080 (#0)

* Trying ::1...

* Connected to localhost (::1) port 8080 (#0)

> POST /sus/create HTTP/1.1

> User-Agent: curl/7.29.0

> Host: localhost:8080

> Accept: */*

> Content-type:application/json

> token:123

> Content-Length: 31

>

* upload completely sent off: 31 out of 31 bytes

< HTTP/1.1 200 OK

HTTP/1.1 200 OK

< Server: Apache-Coyote/1.1

Server: Apache-Coyote/1.1

< Content-Type: application/json;charset=UTF-8

Content-Type: application/json;charset=UTF-8

< Transfer-Encoding: chunked

Transfer-Encoding: chunked

< Date: Sat, 15 Dec 2018 09:05:28 GMT

Date: Sat, 15 Dec 2018 09:05:28 GMT

<

{"code":0,"longUrl":"https://www.baidu.com","shortUrl":"Afi6Nb"}

* Connection #0 to host localhost left intact

使用短链访问样例

短链访问请求:

curl -v -i http://localhost:8080/sus/vQj2eq

短链访问响应:

* About to connect() to localhost port 8080 (#0)

* Trying ::1...

* Connected to localhost (::1) port 8080 (#0)

> GET /sus/vQj2eq HTTP/1.1

> User-Agent: curl/7.29.0

> Host: localhost:8080

> Accept: */*

>

< HTTP/1.1 301 Moved Permanently

HTTP/1.1 301 Moved Permanently

< Server: Apache-Coyote/1.1

Server: Apache-Coyote/1.1

< Location: https://www.baidu.com

Location: https://www.baidu.com

< Content-Length: 0

Content-Length: 0

< Date: Sat, 15 Dec 2018 09:15:13 GMT

Date: Sat, 15 Dec 2018 09:15:13 GMT

<

* Connection #0 to host localhost left intact

后期功能扩展

目前是纯servlet项目,可以切换为springboot类型项目

token管理

后台管理功能

网站短链生成服务器,一天时间撸个短链服务器相关推荐

  1. 9号服务器奔溃第二天网站首页被k,网站首页被k多长时间可以恢复?网站首页被k有哪些原因呢?...

    对于站长来说,最怕的就是网站内容没有收录,辛苦做起来的排名下降.任何一个网站想要有个不错的点击量,就需要不断进行优化改造,我们常见的就是SEO优化,主要有关键词优化.黑帽白帽.外链等措施.网站排名在搜 ...

  2. 短网址、综合短网址、PT短网址生成源代码,含前后端源代码,做一个自己的短链生成网站

    短网址.综合短网址.PT短网址生成源代码,含前后端源代码,做一个自己的短链生成网站 安装步骤 直接上传到你的空间即可,要求php环境 添加接口 index.html中,添加网址单选 api.php中, ...

  3. 服务器关闭重启后客户端socket能自动连接吗_用Python 撸一个 Web 服务器

    从一个 Hello World 程序说起 要编写 Web 服务器,需要用到一个 Python 内置库 socket.Socket 是一个比较抽象的概念,中文叫套接字,它代表一个网络连接.两台计算机之间 ...

  4. Sql超时时间已到,在操作完成之前超时时间已过或服务器未响应。

    随着数据库数据的不断增大,查询时间也随之增长.而客户端与数据库连接时间以及命令的执行时间都是有限的.默认为30s. 所以在查询数据的时候,程序会出现 "超时时间已到.在操作完成之前超时时间已 ...

  5. 基于 SpringBoot 开发的在线短链生成系统(附源码)

    前言 分享一个基于 SpringBoot 开发的在线短链生成系统,在线短链接生成器. 完整项目源码在文章结尾处,大家自行下载即可~ 一.实现功能 1.将长链接转换成短链接,访问短链接时, 302重定向 ...

  6. 修改服务器时间报错,修改服务器时间linux

    修改服务器时间linux 内容精选 换一换 IPv6的使用,可以有效弥补IPv4网络地址资源有限的问题.如果当前云服务器使用IPv4,那么启用IPv6后,云服务器可在双栈模式下运行,即云服务器可以拥有 ...

  7. 登录超时服务器未响应,怎样解决超时时间已到、在操作完成之前超时时间已过或服务器未响应的问题?...

    怎样解决超时时间已到.在操作完成之前超时时间已过或服务器未响应的问题? 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. ...

  8. PHP网站地图生成类

    这篇文章,给大家介绍一个php网站地图生成类. 做网站的朋友们都有过这样的经历,在一个新站刚刚开始运营时,最希望的就是百度.google这样的搜索引擎来索引自己的页面,恨不得让蜘蛛不停地爬,赶快把自己 ...

  9. 时间服务器端口协议,时间服务器端口

    时间服务器端口 内容精选 换一换 以ADC所在服务器的时间为准,将ADA所在服务器的时间与ADC所在服务器的时间同步.参见准备环境完成环境配置.以HwHiAiUser用户登录安装Toolkit组件的服 ...

最新文章

  1. python opencv创建图像_使用Python中OpenCV库创建一幅图片的RGB通道图片
  2. NLP 新宠:谈Prompt的前世今生
  3. php-fpm定义成集群资源时报错解决方法
  4. boost::core::typeinfo的用法实例
  5. kaggle中自己的notebook不见了
  6. .NET与鲲鹏共展翅,昇腾九万里(二)
  7. 7-2 银行家算法--申请资源 (30 分)
  8. NFS方式挂载rootfs的设置方法
  9. FinTech:一个单体系统足以撑起银行持续交付全球大项目
  10. hdu 5076 最小割灵活运用
  11. 让你的 Qt 桌面程序看上去更加 native(三):自定义 style
  12. 算法(第四版)C# 习题题解——1.2
  13. EXCHANGE指定要使用的域控制器、GC
  14. bug-AttributeError: ‘NoneType‘ object has no attribute ‘append‘
  15. Python mysql-表的创建,删除和更新
  16. 洛谷OJ P3368 【模板】树状数组 2
  17. steam授权_验号机器人正式上线,支持检验csgo账号、steam账号信息
  18. 计算机控制软件流程图,计算机控制系统的组成
  19. 7.8 W 字总结!Java 8—Java 10 特性详解
  20. 移动硬盘根目录里的msdia80.dll文件

热门文章

  1. 为什么不能和程序媛谈恋爱?
  2. php中的strtolower
  3. kotlin跳出for循环
  4. C语言实现《别碰白块》小游戏!全部代码+思路注释
  5. 这20首诗词献给天下程序员们
  6. 地形图完善建筑物属主、名称、楼层等
  7. HUAWEI share 不能和win7电脑连接的原因之一:同一网络
  8. Linux 文件权限之umask
  9. 微信JSSDK开发,调用微信扫一扫 JAVA jsp前端 js实现
  10. java ftl转pdf_FreeMarker(二):利用FreeMarker转pdf