如何阻止asp.net加密查询字符串

时间:2011-05-11 22:47:26

标签: c# .net asp.net vb.net

我有一个要求,我必须通过querystring将一些值传递到下一页。 这个查询字符来自第三方,他们需要在另一个页面上进行分析。

我只是做一个response.redirect并将我从他们那里收到的查询字符串添加到另一页面。我的问题是.net环境正在编码/加密他们使用的一些特殊字符,我不想要它,因为它不会在新页面中带回正确的值。

示例:

传递了网址:

abcd.efgh=testing|value1=rtedf%20value2%202010-04-07%207pm|value3=aaaa

这会改为

abcd.efgh=testing|value1%3drtedf+value2+2010-04-07+7pm|value3%3daaaa

看起来“=”变成“%3d”而“%20”变成“+”

如何停止url的编码并以原始格式传递。

2 个答案:

答案 0 :(得分:3)

您的查询字符串为URL encoded。由于应如何格式化URL,因此这是标准行为。您需要在接收页面上执行的操作是使用UrlDecode以恢复原始字符串。

答案 1 :(得分:1)

这不称为加密,它是 url-encoding ,是HTTP要求。

你无法阻止ASP.NET,你真的不应该尝试停止它!