如何检查字符串是否为html编码?

时间:2016-08-11 02:31:54

标签: c# html asp.net-web-api encode

我正在使用我的网络API。有些用户发送参数字符串为HTML编码我想识别即将到来的参数是HTML编码还是纯文本。

我的Web API方法是

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

我将Accesskey作为Html编码,如

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

我想输出

Accesskey="AbIfZVn4y514sJbt+CCMJy6lsmsMi6uOWyhUhynDSf1MEqZ/WJnwUuCFO8zMFa4jCRWQrXHKdBaHd9CCdDNfoKDnPg1W9No16JQbL2DBEGg="

2 个答案:

答案 0 :(得分:1)

一种技术应该是强制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);
}

答案 1 :(得分:0)

您可以使用

console.log('yourtext');

它将在控制台中显示为原始。