-
Request.QueryString[key]、Request.Form[key]默认都会调用函数HttpUtility.UrlDecode(str, encoding),如果HTTP请求的数据只经过一次编码,无需再调用解码函数。
-
Request.Cookies[key]没用调用解码函数,获取到值后需要调用正确的解码函数才能得到正确的值。
-
Request.QueryString[key]、Request.Form[key]、Server.UrlDecode(),解码方式获取是一致的,都是优先从HTTP请求头(x-up-devcap-post-charset或者charset)获取编码,如果没指定的话从取配置文件的Globalization结点获取,最后默认Encoding.UTF8。
-
Server.UrlEncode()解码方式,优先从取配置文件的Globalization结点获取,如果配置文件没有的话用Encoding.Default,最后默认用Encoding.UTF8。
-
Server.UrlEncode()和Server.UrlDecode(),获取编码方式并不一样,两者成对使用结果并不一定正确,这个和我们通常的认识不一致,需要特别注意。
如果HTTP请求的数据只经过一次编码,Query与From无需再调用解码函数
最新推荐文章于 2025-11-16 04:04:59 发布
博客探讨了HTTP请求中不同数据获取方式的解码过程,如Request.QueryString、Request.Form和Request.Cookies。重点指出Server.UrlEncode()和Server.UrlDecode()在获取编码方式上的差异,可能导致解码结果不准确,提醒开发者需要注意这一潜在问题。
1088

被折叠的 条评论
为什么被折叠?



