2012-12-12 15 views
0
創建短網址

可能重複:
how to shorten the url in a mathematical approach如何無需數據庫

其大專Django項目..在那裏我真的不能建立數據庫模型來存儲動態生成URL和重定向到基於散列主鍵的短網址..等

我想在加密URL使用一些算法和解密在服務器上的行。最初,我想過使用md5哈希,但我想我們不能解密。

我實際的URL看起來像:

http://mydomain.com/photo?friend_name=dennis&me_name=ritchie&ping_url=http%3A%2F%2Fmydomain.com%2Fimg%3Furl%3Dhttps%3A%fsjcsd.googleueusercontent.com%2F-Sf6bP2nOKa8%2FUMaw8vv0QLI%2FAaaddjhnkchkjda7E%2Fs800%2FHosbsco.png%26message%3Dhi+dude 

我想它轉換成:

http://mydomain.com?encode=hksfhsfksuhkvbkjnukvns 

然後在服務器端我想着hksfhsfksuhkvbkjnukvns轉換回實際字符​​串。

是否有任何的Python庫我有

+1

看到這個相似的問題: http://stackoverflow.com/questions/875771/how-does-one-encode-and-decode-a-string-with-python-for-use-in-a- url – and3p

+0

可能不實用 - 你最好的選擇可能是base64編碼,但是這給了我一個291字節的字符串作爲你的樣本輸入URL,這擴展了「short」的要求。 –

+0

@DominicRodger好吧..如果它的簡單實施和工作將。不是問題 –

回答

0

您可以通過網址壓縮+加密/解密的base64方法去。

對於壓縮,您可以檢查python的zlib或任何其他無損壓縮庫(lzma等),然後通過base64將壓縮的二進制字符串轉換爲ascii。有關您的信息,您的url的zlib + base64比原始url更糟糕。

但是,url可能永遠不會像你期望的那麼短,只是因爲url內容有很多信息,壓縮比不好等等。所以有可能這個解決方案永遠不會滿足具有文本長度限制的應用程序的需要(如twitter)。

所以,如果你想一個真正的短網址,必須有一個地方來存儲短長對。

記住這些,我GOOGLE搜索「網址縮短」,很多彈出。

這些第三方的Web應用程序只是爲了做好這項工作:

希望您可以使用第三方應用程序。

相關問題