2017-01-15 7 views
-1

ご質問が無意味であると思われる場合、私はちょうどそこに方法や解決方法があることを確認したいと思います。すべてのヘルプは node.jsのクエリーストリングでエンコーディングをfalseに設定する

request({url:url, search:qs}, function(e,r,body) { 
    qs:{ name: 'Rome||Turin||venice||milan'} 
}) 

正確なname: Rome||Turin||venice||milanがサーバに行くこと

ブラウザは、それは%の7FCの%または任意の他の文字のようなものを追加しエンコードしますので、偽のエンコード設定する方法が自分である

を高く評価している

+1

いいえ。これは、許可される文字と許可されない文字をどのようにコード化するかについての仕様を持つURIです。ブラウザーはこれらの仕様に従うことを選択します(幸いなことに、私たち全員)。サーバーはクエリ文字列を使用する前に適切にデコードする必要があります。サーバは簡単に終わりに適切なことをするために修正することができます。 – jfriend00

+0

その意味は、ブラウザは、必要な文字を でエンコードし、それ自身をデコードし、デコードされた文字列でサーバーのURLを提供するか、サーバーはエンコードされた文字を受信し、サーバー自体がそれをデコードしますか? –

+0

ブラウザは、合法でエンコードされたURIをサーバーに送信します。サーバーはURIを使用する前にデコードします。 – jfriend00

答えて

0

いいえ、ブラウザでURIエンコーディングをオフにすることはできません。他のタイプのクライアントでもURIエンコーディングをオフにしないでください。 URIには、どの文字が許可されるかを指定するURI指定があります。すべてのクライアントはURIをエンコードして、サーバーに送信するURIが仕様に準拠していることを確認する必要があります。

要求を受信すると、すべてのサーバーがURIをデコードしてから使用する必要があります。

私たちにとっては、ブラウザはすべてこの仕様に準拠し、URIをエンコードしてからサーバーに送信します。適切に動作することを期待するサーバは、着信URIをデコードして目的のテキストを取得します。

関連する問題