問題タブ [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.
parsing - エンコードされていない等しい文字(=)はクエリ文字列の値として許可されていますか?
私が次のURLを持っているとしましょう:
「baz」と「egg」の間は等しいです。「baz=egg」はkey2の値としてカウントされますか、それとも=エンコードする必要がありますか?
ありがとう
php - get または basename() の方が効率的ですか?
次のうちどれがより効率的ですか?
トークン (ランダム) で get 関数を使用します。次に例を示します。
http://www.example.com/category/subcategory/subsubcategory?value=random $_GET['value']
URL のトークン部分を作成し、それを解析します。次に例を示します。
$url="http://www.example.com/category/subcategory/subsubcategory/random" basename($url)
そして実際には、ベース名は爆発またはを使用するよりも効率的substr(strrchr())
ですか?
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:// であると見なします
javascript - URL をコンポーネントに分割する
私は JavaScript を使用しており、持っている URL 文字列をホスト、パス、クエリ引数などのコンポーネントに分解したいと考えています。
クエリ引数の 1 つを取得するためにこれを行う必要があります。これはそれ自体が URL であるため、元の URL 文字列にエンコードされます。
Javascriptでこれを行う簡単な方法があるべきだと思います。おそらく、次のようになります。
javascript - パス名を分割してルーティングパラメータを取得する
私は私のアプリケーションでmvcとjqueryを使用しています私はこのようなルーティングURLを持っています:
URLを取得し、それを分割してjqueryでIDを取得したい
php - http get を使用してフォーム データを 2 つの URL に投稿する
助けてください、私は単純な Web フォームを持っています。送信ボタンが押されたときに、フォームがデータを 2 つの URL に投稿し、そのうちの 1 つにすぐにリダイレクトするようにしたいと考えています。
フォーム送信後にphpリダイレクトページに設定したものは次のとおりです。2 番目の URL を追加して、そのうちの 1 つに正常にリダイレクトするにはどうすればよいですか?
javascript - JavaScript での URL の解析
JavaScript で URL を解析する必要があります。
これが私のコードです:
name=value
残念ながら、最初のペアでしか機能しません。
コードを修正するにはどうすればよいですか?
javascript - Firefox での window.location.hash の問題
次のコードを検討してください。
次のハッシュで実行すると:
#car=町%20%26%20国
ChromeとSafariでの結果は次のようになります。
車=町%20%26%20国
ただし、Firefox (Mac および PC) では次のようになります。
car=タウン&カントリー
同じコードを使用してクエリとハッシュ パラメータを解析するためです。
ここでの Firefox の特異性はそれを打ち破ります: car パラメータは、国ではなく "Town" になります。
ブラウザー間でハッシュパラメーターを解析する安全な方法、または Firefox がそれらを読み取る方法を修正する方法はありますか?
注:この問題は、Firefox の HASH パラメータの解析に限定されています。クエリ文字列を使用して同じテストを実行すると、次のようになります。
すべてのブラウザで次のように表示されます。
車=町%20%26%20国
javascript - URLパラメータをJavaScriptオブジェクトに変換する方法は?
私はこのような文字列を持っています:
どうすればこのようなJavaScriptオブジェクトに変換できますか?
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 を見ましたが、それを行う良い方法を提供していないようです。