สมมติว่าสิ่งต่อไปนี้เป็นรายการลิงก์ของเว็บไซต์วิดีโอของคุณ
http://www.xxxx.com/video/1
http://www.xxxx.com/video/2
http://www.xxxx.com/video/3
จากนั้นแก้ปัญหานี้เราสามารถใช้ที่อยู่สั้น ๆ อย่าเปิดเผยการเชื่อมโยงจริงไปยังโลกภายนอกและใช้การเข้ารหัสแบบสมมาตรเป็นทางออกที่ดี
Hashids เป็นตัวเลือกที่ดีซึ่งให้ภาษาการเขียนโปรแกรมเช่น JS/PHP/Java/Python
ต่อไปนี้เป็นบริการที่อยู่สั้น ๆ Java ที่สร้างโดย My Blade Framework
สร้างตาราง `t_url` (` id` int (10) ไม่ใช่ null auto_increment, `url` text ไม่ใช่ null, คีย์หลัก (` id`)) เครื่องยนต์ = innoDB auto_increment = 15 เริ่มต้น charset = utf8;
การกำหนดเส้นทาง
@pathpublic class indexroute {// ค่าเกลือส่วนตัวคงที่ hashids = hashids ใหม่ ("Blade-Shorturl"); การตอบสนอง) {String key = req.pathparam (:: key ") ); ; ถ้า (ผลลัพธ์ == null) {response.text ("ไม่พบ"); return "index";} @Route (value = "/", method = httpmethod.post) สตริงสาธารณะบันทึก (คำขอการตอบสนอง, การตอบสนอง) {String resjsp = "ดัชนี"; "); ถ้า (! isurl (longurl)) {request.attribute (" ข้อผิดพลาด "," url unvalid "); return resvsp;} integer id = this.save (longurl); if (id == 0) Ute "ข้อผิดพลาด", "บันทึกล้มเหลว"); , url_hash = " + hash); return resvsp;} integer private integer (url string url) {return urlmodel.insert (). url) .ecuteandcommit ();} urlmodel ส่วนตัวรับ (int id) {return urlmodel .fetchbypk ;} สตริงสุดท้ายส่วนตัว regx = "// b (https? | ftp | ไฟล์): // [-a-za-z0-9+@#/%? = ~!.]*[-s-za- z0-9+@#/%= ~ |] "; บูลีนส่วนตัว isurl (url สตริง) {ถ้า (stringkit.isnotblank (url)) {รูปแบบรูปแบบ = รูปแบบ (regex); matcher matcher = pattern.matcher (url) ; ถ้า (matcher.find ()) {return true;}} return false;}}ผลการดำเนินการ:
รหัสสถานที่: https://github.com/bladejava/blade- shorturl
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้