2016-08-11 6 views
0

私は自分のWeb APIを使って作業しています。いくつかのユーザーがパラメータ文字列をHTMLエンコードされたものとして送信するパラメータがHTMLエンコードまたはプレーンテキストであることを特定したいと思います。文字列をチェックする方法はhtmlエンコードですか?

マイウェブAPIメソッドは、HTMLが

Accesskey="AbIfZVn4y514sJbt%2BCCMJy6lsmsMi6uOWyhUhynDSf1MEqZ%2FWJnwUuCFO8zMFa4jCRWQrXHKdBaHd9CCdDNfoKDnPg1W9No16JQbL2DBEGg%3D"; 

のようにエンコードされたとして、私はアクセスキーを取得しています

public HttpResponseMessage Get(string Accesskey, string AccessPwd) 
{ 
    // code logic 
} 

である私は

Accesskey="AbIfZVn4y514sJbt+CCMJy6lsmsMi6uOWyhUhynDSf1MEqZ/WJnwUuCFO8zMFa4jCRWQrXHKdBaHd9CCdDNfoKDnPg1W9No16JQbL2DBEGg=" 
+0

'%20'はHTMLエンコードされた値のプレーンテキストですか? –

+0

あなたはUri()クラス(https://msdn.microsoft.com/en-us/library/system.uri(v=vs.110).aspx)で試してみることができます –

+0

はい@リヴェンコ。私はこのタイプの文字列を取得しています。 –

答えて

0

のような出力技術はURLデコードを強制的にする必要がありますしたいです結果がソース文字列と同じかどうかを確認します。

using System; 
using System.Web; 

var incomingStrings = new[] { "not encoded", "encodéd" }; 

foreach (var incomingString in incomingStrings) 
{ 
    Console.WriteLine(IsUrlEncoded(incomingString)); 
} 

private bool IsUrlEncoded(string source) 
{ 
    return source != HttpUtility.UrlDecode(source); 
} 
+0

それは私のために働いていない私はHTMLコード化された文字列を持っています –

+0

"Gistlynからコードを実行する"をクリックすると、それは動作していますか? – labilbe

+0

あなたのコードは動作していません。私は私の質問を更新しましたAccessKeyの上の符号化された文字列を参照 –

関連する問題