1

重複の可能性:
数学的アプローチでURLを短縮する方法

その大学のdjangoプロジェクト..動的に生成されたURLを保存し、ハッシュされた主キーに基づいて短い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実際の文字列に戻すことを考えています。

私が持っているPythonLibはありますか

4

1 に答える 1

2

URL圧縮+暗号化/base64アプローチを使用できます。

圧縮するには、python の zlib またはその他のロスレス圧縮ライブラリ (lzma など) をチェックしてから、圧縮されたバイナリ文字列を base64 で ascii に変換します。参考までに、URLのzlib + base64は元のURLよりも悪いです。

ただし、URL のコンテンツに多くの情報が含まれている、圧縮率が低いなどの理由で、URL が期待するほど短くなることはありません。そのため、このソリューションは、テキストの長さ制限のあるアプリケーション (Twitter など) のニーズを満たさない可能性があります。 .

したがって、本当に短い URL が必要な場合は、短い URL と長い URL のペアを保存する場所が必要です。

それらを念頭に置いて、「url shortner」をグーグルで検索したところ、多くのものが飛び出しました。

これらは、この仕事を行うためだけのサードパーティの Web アプリケーションです。

ただし、サードパーティのアプリを使用できることを願っています。

于 2012-12-12T09:41:20.663 に答える