問題タブ [url-shortener]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Base10 から base64 への URL 短縮
私はphpを学んでいるプロジェクトのURL短縮機能をコーディングしています。コードは次のとおりです(ところで、global
ここで行うのは良いことではないと思います:P):
コードは、このウィキペディアの記事から取得 され、php に適合されています。私の問題は、関数に 64 の倍数を渡すと、(私の目的では) 間違った結果が得られることです。たとえば、128 は b を返しますが、これは正しくありません。番号。
また、nItOq を取得するときに 1'000'000'000'000 を渡すと、このコードに何か問題があるのではないかと考え始めています$id
... bit.ly のような URL 短縮サービスが 6 を返すため、それは間違っていると感じています。私がそれを使用する場合は番号IDであり、このアルゴリズムが彼らのものより優れているとは思いません.
だから、2つの質問:
- 上記のコードにバグを見つけましたか?
- 64 個の複数の ID を管理するには? それらを無視して次のものに渡す必要がありますか?
unicode - IDのUnicode変換によるURL短縮?
仕事のためにURL短縮サービスを作成する必要があるので、可能な限り最小のID文字列で可能な限り多くのリンクを提供するための最良のスキーマとなるものを見つけようとしています。
単純なデータベースのIDとして使用するために、Unicode文字をビット値に変換することを考えていました-そのようなことは可能ですか?サーバーにまったく中継されない特定のUnicode文字はありますか?そのままのアドレス文字列にアクセスして、入力されたURLを正確に確認できますが、そこにあるはずのすべてのものがそこにあることを確認する必要があります。#は私が確信していない1つの特定の例です。クライアント側の機能(アンカー)なので、実際にサーバーに到達するかどうかはわかりません。
生成されたIDにランダム性は必要ありません。基本的に、文字ごとに数千から数千の可能性を取得して、最小のUnicodeビット値から最大の値にインクリメントすることを考えていました。
アドバイス、ヘルプ、コードサンプルは大歓迎です。:)
.net - Twitter は私の長い URL を怖がっています - 短くしなければなりません! [c#]
私は、顧客の 1 人が新製品をレビューするたびに、会社の Twitter アカウントに自動的にツイートされる Web サイトを持っています。
実際のツイートでは、ラッパー クラスやライブラリを使用せずに、Twitter API を直接使用しています。投稿が長すぎるとツイートされないことを除いて、すべて正常に機能します。これは、Twitter の文字数制限が 140 文字にすぎないためです (私の赤ん坊の甥はそれよりも多くの文字を処理できます!)。
では、bit.ly や tinyurl のように URL を短縮する最良の方法は何ですか? 彼らはいくつかのAPIの.netユーザーを提供していますか? または、TwitterにはURL短縮サービスがありますか?
私はそれについて何かをすることができたかもしれませんが、私が本当に欲しいのは専門家の意見です。このような場合に最善のことは何ですか.
ps: ここには密接に関連する質問がいくつかありますが、私の状況に十分に近いものはありませんでした。
.htaccess - htaccess、短縮URLはファイルと一致してはいけません
apache2と.htaccessのルールに少し問題があります。
例:
私は次のような短縮されたuriを持っています
これは、サイトマップを表示するためにphpファイルにリダイレクトされたrewriteruleによって書き直される必要があります。問題は、ルートフォルダにsitemap.xmlという名前のファイルが存在することです。私のapacheは自動的にsitemap.xmlファイルを呼び出しますが、それは望ましくありません。このファイルは、URIが
短縮URIが呼び出されたときにこのファイルの呼び出しを回避する可能性はありますか?
これは単なる例です。ルートフォルダにある必要があり、そこからサブフォルダに移動できないファイルがいくつかあります(これはこの問題を解決する最も簡単な方法ですが、私の状況では不可能です)。これらのファイルはuriから呼び出すことができる必要があります。
誰かがこの問題を解決する方法を考えていますか?
私の現在の.htaccessファイル
どうもありがとう!
email - 長いURLを電子メールで送信する代わりに?
次のようなURLを使用するWebアプリケーションがあります。
http://library.example.com/Register.aspx?query=academic&key=586c70bb-5683-419c-aae9-e596af9ab66a
(GUIDは、推測を思いとどまらせるために単純なintの代わりに使用されます。これが今のところ必要なすべてです。)
問題:その長いURLは、電子メールで送信されると頻繁に壊れます。メールを送信するのは人間なので、フォーマットを制御することはできません。電子メールの送信プログラムに問題がある場合もあれば、受信している場合もありますが、問題の修正を通じて人々と話すことに多くの時間を費やしています。
すべてがこのドメインからのものである必要があるため、サードパーティの短縮機能を使用することはできません。自分でホストすることもできますが、それはちょっとした悩みの種のようです。
助言がありますか?
編集
@サニー:詳しく説明してくれてありがとう。でも私の状況はあなたが思っているものとは違う。(私の)法人顧客はこのURLを従業員に渡し、彼らはそれを使用してブランドの登録ページにアクセスします。彼らは登録の一部として有効な電子メールを提供する必要があり、それは企業の監督者に転送されます。
登録するとデータベースにアクセスできますが、表示される内容は法人顧客に固有のものではありません。したがって、時折の侵入者は大したことではありません。彼らが上司に除かれたら、私たちは彼らを購読するように勧めます。
@Everybody:電子メールの破損は句読点( )ではなく?&=
、あらかじめ決められた行の長さです。私もびっくりしました。問題の一部である仮想ディレクトリへのパスと同様に、ドメイン名が長いことに注意してください。
応答を読んだ後、base64を疑似短縮として使用します。次のようになります。
http://a.MyLongDomainName.com/?q=a&key=base64_encoded_GUID
...そしてそれが生き残るかどうかを確認します。ありがとうございます。
php - Codeigniter の最初のセグメントの URL 変数
変数を URL の最初のセグメント www.example.com/0jf08h204 に配置する URL 短縮スキームを使用しようとしています。私のデフォルトのコントローラーは「home.php」で、.htaccess mod-rewrites を配置しています。これを管理する最善の方法は何ですか? 標準の /controller/method/variable スキームによってスマートがブロックされていると思いますが、これは URI プロトコルの設定ですか? ありがとうございました!
php - IDに基づいて推測できない「小さなURL」を生成する方法は?
リンクのような小さな URL を作成することに興味があります。私のアイデアは、投稿されたすべての長い URL の増分識別子を単純に保存し、この ID を PHP の次のように base 36 バリアントに変換することでした。
ここでの問題は、結果が推測可能である一方で、次の URL が何であるかを推測するのは難しくなければならず、それでも短い (小さい) ことです。例えば。atm 最後の tinyurl が a1 だった場合、次は a2 になります。これは私にとって悪いことです。
では、結果として得られる小さな URL が推測可能ではないが短いことを確認するにはどうすればよいでしょうか?
php - PHP URL短縮アルゴリズム
URL短縮に使用する推奨アルゴリズムを誰か推奨できますか? PHPを使ってコーディングしています。最初は、「a」などの文字で始まり、リクエストを繰り返し処理し、データベースにレコードを作成するため、文字を b、c、d ... A、B などにインクリメントする必要があるものを書くことを考えました。適切な。
しかし、このアルゴリズムはかなり重く/不器用である可能性があり、それを行うためのより良い方法がある可能性があることに気づきました。
Google で少し読んだところ、データベースの ID 列からの基数変換を行っている人もいるようです。これは私がよく知っていることではありません。
誰かがこれがどのように機能するかを詳しく説明してくれますか? いくつかのコード例も素晴らしいでしょう。
私は自分でそれを学びたいので、完全な解決策は明らかに望んでいませんが、これがどのように機能するかについての説明/疑似コードは素晴らしいでしょう.
jquery - jQuery AJAX URL Shortener JSON リクエストが機能しない
私は立ち往生しています-そして、私が単純になると思っていたものにはかなりイライラしています:(
Jクエリ:
これを試してみましたが、FF では「無効なラベル」エラーが表示され、Chrome では別のエラーが表示されます。
データ型として「json」を使用すると、null が返されます。
イライラするのは、ブラウザで試してみると、URL が正常に機能することです。また、返されたデータの「jsonp」変数からのエラーは、必要なデータを示していますが、エラーが原因でデータにアクセスできません。
それに応じて API の要件を変更して、XML またはスクリプトにスワップしようとしましたが、何もしませんでした。他の短縮サイトも試してみましたが同じ現象です。
また、クエリ部分を data: に移植しようとしましたが、どちらも機能しませんでした。
ヘルプ!:(そして、見てくれてありがとう。:)
asp.net - 数学的アプローチでURLを短縮する方法
アルゴリズムを使用して、長さが150〜250文字から最大12文字になるURLを短縮/暗号化する可能性を検討しています。最初はそれが可能かどうか疑問に思っていますが、StackOverflowの優れた精神を活用したかったのです:)
アルゴリズムは、従来のasp、sql、c#、vb、foxpro、またはその他の言語で記述できるものでなければなりません。
データベース中心のアプローチがなくてもそれは可能ですか?
ここで読んでいたのは、CFBモードのAESはストリーム暗号を実行し、出力の長さは入力の長さと同じになるということです。それをさらに短くする方法はありますか?