我们有一个系统可以发送带有链接的常规电子邮件,其中许多包含URL编码参数,例如:
href="http://www.mydomain.com/login.aspx?returnurl=http%3A%2F%2Fwww.mydomain.com%2Fview.aspx%3Fid%3D1234%26alert%3Dtrue"
Run Code Online (Sandbox Code Playgroud)
您可以看到"returnurl"参数已编码.但是,似乎我们的大量用户(看似hotmail)正在接收带有此部分解码的电子邮件,部分解码如下:
href="http://www.mydomain.com/login.aspx?returnurl=http://www.mydomain.com/view.aspx?view.aspx%3Fid%3D1234%26alert%3Dtrue"
Run Code Online (Sandbox Code Playgroud)
为什么会像这样解码?为什么只能部分解码?因此我不知道如何处理它.我想到base-64编码但是base64字符串包含需要解码的字符......我想到了双重编码但是我不知道是否要对参数进行双重解码......任何人都可以帮忙吗?谢谢.