問題タブ [url-parsing]

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.

0 投票する
1 に答える
139 参照

parsing - エンコードされていない等しい文字(=)はクエリ文字列の値として許可されていますか?

私が次のURLを持っているとしましょう:

「baz」と「egg」の間は等しいです。「baz=egg」はkey2の値としてカウントされますか、それとも=エンコードする必要がありますか?

ありがとう

0 投票する
3 に答える
478 参照

php - get または basename() の方が効率的ですか?

次のうちどれがより効率的ですか?

  1. トークン (ランダム) で get 関数を使用します。次に例を示します。

    http://www.example.com/category/subcategory/subsubcategory?value=random $_GET['value']

  2. URL のトークン部分を作成し、それを解析します。次に例を示します。

    $url="http://www.example.com/category/subcategory/subsubcategory/random" basename($url)

そして実際には、ベース名は爆発また​​はを使用するよりも効率的substr(strrchr())ですか?

0 投票する
6 に答える
15588 参照

python - 必要に応じて「http://」プロトコルを URL の先頭に追加するにはどうすればよいですか?

URL を解析する必要があります。現在、urlparse.urlparse() と urlparse.urlsplit() を使用しています。

問題は、スキームが存在しない場合、URL から「netloc」(ホスト) を取得できないことです。つまり、次の URL があるとします。

www.amazon.com/Programming-Python-Mark-Lutz/dp/0596158106/ref=sr_1_1?ie=UTF8&qid=1308060974&sr=8-1

ネットロックを取得できません: www.amazon.com

Pythonのドキュメントによると:

RFC 1808 の構文仕様に従って、urlparse は「//」によって適切に導入された場合にのみ netloc を認識します。それ以外の場合、入力は相対 URL であると想定されるため、パス コンポーネントで開始されます。

というわけで、わざとこうなっています。しかし、その URL から netloc を取得する方法がまだわかりません。

スキームが存在するかどうかを確認し、存在しない場合は追加して解析できると思います。しかし、この解決策はあまり良くないようです。

もっと良いアイデアはありますか?

編集: すべての回答をありがとう。しかし、コーリーらが提案している「startswith」ということはできません。他のプロトコル/スキームの URL を取得すると、めちゃくちゃになってしまうからです。見る:

この URL を取得した場合:

提案されたコードでは、「http://」を最初に追加して、めちゃくちゃにします。

私が見つけた解決策

注意事項:

最初にいくつかの検証を行い、スキームが指定されていない場合は http:// であると見なします

0 投票する
4 に答える
22416 参照

javascript - URL をコンポーネントに分割する

私は JavaScript を使用しており、持っている URL 文字列をホスト、パス、クエリ引数などのコンポーネントに分解したいと考えています。

クエリ引数の 1 つを取得するためにこれを行う必要があります。これはそれ自体が URL であるため、元の URL 文字列にエンコードされます。

Javascriptでこれを行う簡単な方法があるべきだと思います。おそらく、次のようになります。

0 投票する
2 に答える
15819 参照

javascript - パス名を分割してルーティングパラメータを取得する

私は私のアプリケーションでmvcとjqueryを使用しています私はこのようなルーティングURLを持っています:

URLを取得し、それを分割してjqueryでIDを取得したい

0 投票する
1 に答える
632 参照

php - http get を使用してフォーム データを 2 つの URL に投稿する

助けてください、私は単純な Web フォームを持っています。送信ボタンが押されたときに、フォームがデータを 2 つの URL に投稿し、そのうちの 1 つにすぐにリダイレクトするようにしたいと考えています。

フォーム送信後にphpリダイレクトページに設定したものは次のとおりです。2 番目の URL を追加して、そのうちの 1 つに正常にリダイレクトするにはどうすればよいですか?

0 投票する
3 に答える
1207 参照

javascript - JavaScript での URL の解析

JavaScript で URL を解析する必要があります。

これが私のコードです:

name=value残念ながら、最初のペアでしか機能しません。

コードを修正するにはどうすればよいですか?

0 投票する
2 に答える
5447 参照

javascript - Firefox での window.location.hash の問題

次のコードを検討してください。

次のハッシュで実行すると:

#car=町%20%26%20国

ChromeSafariでの結果は次のようになります。

車=町%20%26%20国

ただし、Firefox (Mac および PC) では次のようになります。

car=タウン&カントリー

同じコードを使用してクエリとハッシュ パラメータを解析するためです。

ここでの Firefox の特異性はそれを打ち破ります: car パラメータは、国ではなく "Town" になります。

ブラウザー間でハッシュパラメーターを解析する安全な方法、または Firefox がそれらを読み取る方法を修正する方法はありますか?


注:この問題は、Firefox の HASH パラメータの解析に限定されています。クエリ文字列を使用して同じテストを実行すると、次のようになります。

すべてのブラウザで次のように表示されます。

車=町%20%26%20国

0 投票する
34 に答える
322533 参照

javascript - URLパラメータをJavaScriptオブジェクトに変換する方法は?

私はこのような文字列を持っています:

どうすればこのようなJavaScriptオブジェクトに変換できますか?

0 投票する
2 に答える
217 参照

ruby-on-rails - 相対 URL として解釈されるユーザー指定の URL へのリンク

この質問が他の場所で回答されている場合は申し訳ありませんが、運が悪いのでしばらく探しました。

私の Web アプリでは、ユーザーにブログの URL を指定するように求めています。ただし、常にこれらの URL の先頭に「http://」を付けるとは限りません。サイトの他の場所で、これらの URL にリンクすると、ブラウザーはそれらを相対 URL として解釈します。たとえば、ユーザーが bobsblog.wordpress.com と書いた場合、リンクはhttp://www.mydomain.com/bobsblog.wordpress.comに移動します。

解決策の 1 つは、URL フィールドに「http://」を事前入力することです。

しかし、より良い解決策は、URL を解析し、ユーザーがスキームを追加していない場合は追加することです。レールはこれを行う良い方法を提供していますか? 関数 URI::parse を見ましたが、それを行う良い方法を提供していないようです。