日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

如何使用ASP.NET Core Web API实现短链接服务

發布時間:2023/12/4 asp.net 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用ASP.NET Core Web API实现短链接服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

在前面的文章中,我們介紹了hashids.net,可以將數值型Id加密成無意義的字符串。

今天,我們來利用這一特點,實現短鏈接服務。

原理

短鏈接,顧名思義就是在形式上比較短的鏈接網址。借助短鏈接,可以用簡短的網址替代原來冗長的網址,例如下例:

  • zhiurl.cn/erbDjM

但是訪問這個地址,實際會打開我的公眾號。

監控網絡請求,發現實際發生的是302臨時重定向。

因此,可以猜測整個短鏈接服務的實現原理如下:

  • 用戶訪問短鏈接,請求到達服務器;

  • 服務器將短鏈接轉換成為長鏈接,然后給瀏覽器返回重定向的狀態碼302;

  • 瀏覽器拿到重定向的狀態碼,以及真正需要訪問的地址,重定向到真正的長鏈接上。

  • 實現

    創建一個Web API項目,用于實現短鏈接服務。

    首先,實現生成短鏈接接口:

    [HttpPost("shorten")] public?string?ShortenUrl([FromBody]string?url) {var?id?=?db.Insert(url);var?hashids?=?new?Hashids("公眾號My?IO",?minHashLength:?6);return?hashids.Encode(id); }

    將長鏈接保存到數據庫,然后將數據Id加密成字符串返回。

    然后,實現短鏈接跳轉接口:

    [HttpGet("{shortUrl}")] public?IActionResult?GetUrl(string?shortUrl) {var?hashids?=?new?Hashids("公眾號My?IO",?minHashLength:?6);var?id?=?hashids.Decode(shortUrl)[0];var?urlData?=?db.Get(id);return?Redirect(urlData.Url); }

    將短鏈接解碼成數據Id,然后到數據庫查到對應長鏈接。最后返回跳轉狀態碼。

    結論

    在本文中,通過hashids.net,我們使用ASP.NET Core Web API實現了短鏈接服務。

    如果你覺得這篇文章對你有所啟發,請關注我的個人公眾號”My IO“

    總結

    以上是生活随笔為你收集整理的如何使用ASP.NET Core Web API实现短链接服务的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。