我有一个函数,可以将包含令牌和电子邮件的url返回给用户的电子邮件。
当用户点击链接时,它将重定向到我的angular应用程序。
但是,如果url是由HttpUtility.UrlEncode编码的,则符号(+)将变为%2b。
这在我的EC2 IIS托管的angular上造成了问题。但它在本地机器上运行得很好。
我的接口(.Net3.0):
string encode_email = HttpUtility.UrlEncode(model.Email);
var encode_token = HttpUtility.UrlEncode(token);
var confirmationLink = WebsiteUrl + "confirm-email/" + encode_token +
"/" + encode_email;我的Angular路由
{
path:"confirm-email/:token/:email",
component:ConfirmEmailComponent
},经过多次测试,我100%确定是%2b导致url不工作。
以下是指向我的webapp应用程序的示例链接
删除的链接
如果您删除%2b并使用其他东西,它会完美地工作。
请帮帮忙。我不知道在这里该做什么。
发布于 2020-11-16 14:35:04
找到了答案,
在web.config文件中,您必须将DoubleEscaping设置为true。
<security>
<requestFiltering allowDoubleEscaping="True" />
</security>https://stackoverflow.com/questions/64853563
复制相似问题