Vbscript 经典ASP响应.重定向编码问题

Vbscript 经典ASP响应.重定向编码问题,vbscript,asp-classic,Vbscript,Asp Classic,我在vbscript中支持一些传统的经典ASP代码,可以重定向到不同的URL 我对以下URL上的response.redirect有一个问题: response.redirect似乎对进行了编码到%3B生成以下无效URL: 有没有办法解决这个问题?问题是“;”。您可以将url字符串拆分为“;”,然后可以删除“;”之后的部分。我已经看到链接也在运行。在谷歌搜索了一段时间后,似乎有一种可能的方法可以解决这个问题,使用以下方法通过标题创建重定向: Response.Status = "302 Ob

我在vbscript中支持一些传统的经典ASP代码,可以重定向到不同的URL

我对以下URL上的response.redirect有一个问题:

response.redirect似乎对
进行了编码
%3B
生成以下无效URL:


有没有办法解决这个问题?

问题是“;”。您可以将url字符串拆分为“;”,然后可以删除“;”之后的部分。我已经看到链接也在运行。

在谷歌搜索了一段时间后,似乎有一种可能的方法可以解决这个问题,使用以下方法通过标题创建重定向:

Response.Status = "302 Object Moved"
Response.AddHeader "Location", url
Response.Write "<HTML>"
Response.Write "<BODY>"
Response.Write "This file was moved to "
Response.Write "<A HREF=""" & url & """>here.<A>"
Response.Write "</BODY>"
Response.Write "</HTML>"
Response.End
Response.Status=“302对象已移动”
Response.AddHeader“位置”,url
响应。写入“”
响应。写入“”
响应。写入“此文件已移动到”

响应。写“没有编码的;到%3B

整个URL需要存在。我们不能删除它的任何部分。必须以某种形式保留;URL不是无效的,它只是编码的
%3B
的URL编码形式。如果你想回到解码的表单,你需要
UrlDecode()
函数,我确信internet上有该函数的示例。过去使用过,效果很好。关于感谢的有用文章,但问题似乎是该响应。重定向正在添加%3B编码-我们传入的字符串是未编码的。我不知道在值已传递到响应后如何取消编码.Redirect unencoded。是的,这是因为它的设计目的是-(
是RFC 1738规范中的保留字符)引自-,如果与八位字节对应的字符在方案中保留,则必须对八位字节进行编码。“@Lankymart我完全理解保留字符的问题,但这不是我要问的。我正在寻找一种方法来解决这个问题——就像我在下面发布的答案一样——它似乎可以作为Response.Redirect问题的解决方法。