开发短网址平台的思路

Posted 昨日微风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发短网址平台的思路相关的知识,希望对你有一定的参考价值。

1. 构建一个中间件,监测网站的响应状态,代码如下:

using Microsoft.AspNetCore.Builder;

using Microsoft.AspNetCore.Http;

using Microsoft.Extensions.Logging;

using NetCoreTFCMS.Domain.DbModel;

using System.Text.RegularExpressions;

using System.Threading.Tasks;

using TianFeng.FrameworkCore.DapperEx;

namespace NetCoreTFCMS.MiddleWare

{

public static class RequestIPExtensions

{

public static IApplicationBuilder UseWatchNoFound(this IApplicationBuilder builder)

{

return builder.UseMiddleware<WatchNoFoundMiddleWare>();

}

}

public class WatchNoFoundMiddleWare

{

private readonly RequestDelegate _next;

private readonly ILogger logger;

public WatchNoFoundMiddleWare(RequestDelegate next, ILoggerFactory loggerFactory)

{

_next = next;

logger = loggerFactory.CreateLogger<WatchNoFoundMiddleWare>();

}

public async Task Invoke(HttpContext context)

{

await _next.Invoke(context);

var path = context.Request.Path.ToString().Trim();

if (path.LastIndexOf("/") == 0)

{

var salt = path.Replace("/", "");

if (Regex.IsMatch(salt, @"^[a-zA-Z0-9]{6}$"))

{

var db = (IDbService)context.RequestServices.GetService(typeof(IDbService));

var model = await db.GetModelAsync<Link>(new { Salt = salt });

if (model != null)

{

if (!Regex.IsMatch(model.SiteUrl, "(file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp)://", RegexOptions.IgnoreCase))

{

model.SiteUrl = "http://" + model.SiteUrl;

}

context.Response.Redirect(model.SiteUrl, true);

}

else

{

logger.LogInformation(salt + "无匹配网址");

}

}

}

}

}

}

2.在startup.cs中的 Configure(IApplicationBuilder app)中添加引用 该 中间件

app.UseWatchNoFound();

这样该中间件就会响应短网址的六位字符串,如果匹配则重定向至对应的网址。

具体的短网址生成,我想就很简单,这里就不多说了,如果有需要,大家可以咨询我。

.net core 开发短网址平台的思路

平台界面

.net core 开发短网址平台的思路

输入网址

.net core 开发短网址平台的思路

自动生成当前域名的短网址

.net core 开发短网址平台的思路

后台管理

http://www.cnblogs.com/tianfengcc/p/7851931.html

以上是关于开发短网址平台的思路的主要内容,如果未能解决你的问题,请参考以下文章

推荐十五个新浪T.CN短网址/腾讯URL短链接的生成缩短的工具

《超赞》新浪短链接(T.CN短网址)API接口批量生成生成器推荐

怎样使用新浪短网址进行网址缩短-推荐15个在线生成工具

短网址生成API接口最新版分析一下现在市面上的短网址情景

t.cn短网址 新浪短网址链接生成器的技术原理分析推荐第一章(分析篇)

新浪短网址链接生成_t.cn短网址api接口(超赞)