Angenommen, das Folgende ist die Liste der Links Ihrer Video -Website.
http://www.xxxx.com/video/1
http://www.xxxx.com/video/2
http://www.xxxx.com/video/3
Lösen Sie dann dieses Problem, wir können kurze Adressen verwenden, keine echten Links in die Außenwelt aufdecken und die symmetrische Verschlüsselung verwenden, ist eine gute Lösung.
Hashids ist eine gute Wahl, die eine Programmiersprache wie JS/PHP/Java/Python bietet.
Das Folgende ist der Java Short -Adressservice, der von meinem Blade -Framework erstellt wurde.
Erstellen Sie die Tabelle `t_url` (` id` int (10) nicht null auto_increment, `url` text nicht null, primärer Key (` id`)) Engine = innoDB auto_increment = 15 Standard charset = utf8;
Routing
@PathPublic Class IndexRoute {// Salzwert private statische endgültige Hashids = new Hashids ("Blade-shorturl"); Antwort) {String key = req.PathParam (": key") ); ; if (result == null) {response.text ("no gefunden"); Rückgabe "Index";} @Route (value = "/", method = httpMethod.post) public String Save (Request Request, Antwort) {String Resjsp = "Index"; "); If (! Isurl (longurl)) {request.attribute (" error "," ungültige URL "); return resvsp;} Integer id = this.save (longurl); if (id == 0) {ufe (ufe (ute (ute Ute "Fehler", "speichern"); , url_hash = " + hash); return resvsp;} private Integer Save (String url) {return urlModel.insert (). url) .ecuteAnDCommit ();} private urlmodel get (int id) {return urlModel .fetchbypk (id) ;} Private endgültige String-Regx = "// B (https? | Ftp | Datei): // [-a-za-z0-9+@#/%? = ~ |!.]*[-S-Za- Z0-9+@#/%= ~ |] "; private boolean isurl (String url) {if (stringkit.isnotblank (url)) {mustermuster = muster. (Regex); Matcher Matcher = muster.Matcher (url) ; if (matcher.find ()) {return true;}} return false;}}Implementierungseffekt:
Code Ort: https://github.com/bladejava/blade- Shorturl
Das obige ist der gesamte Inhalt dieses Artikels.