0

Win8-Searchbarを使用してhttp-Serverをスキャンしようとしています。

string uriString = "http://myServer:myPort/?ItemList,SQLFilter=Title LIKE '%" + searchTerm + "%'";
Uri uri = new Uri(uriString);

「%」、「」(空白)などの特殊記号は「%25」、「%20」に変換されます...

どうすればこれらの変換を防ぐことができますか?http-Serverはそれを理解していません:(

4

1 に答える 1

3

w3schoolsによると、

URLは、ASCII文字セットを使用してインターネット経由でのみ送信できます。

URLにはASCIIセット外の文字が含まれていることが多いため、URLを有効なASCII形式に変換する必要があります。

URLエンコードは、安全でないASCII文字を「%」の後に2桁の16進数で置き換えます。

そのため、URLエンコードが発生し、それを回避する方法はありません。

サーバー側では、HttpUtility.UrlDecodeを使用して文字列をデコードする必要があります。


問題とは関係ありませんが、非常に重要です。

URLのようなものを公開することSQLFilter=Title LIKE '%" + searchTerm + "%'"は、大きなセキュリティ問題を表します。誰でもそれを変更して、DBで任意のステートメントを実行できます

于 2012-10-31T08:58:00.287 に答える