C# HttpUtility.UrlDecode正在替换+;有空间
我正在尝试使用Asp.net WebApi控制器中的C# HttpUtility.UrlDecode正在替换+;有空间,c#,asp.net-identity,urldecode,system.web,C#,Asp.net Identity,Urldecode,System.web,我正在尝试使用Asp.net WebApi控制器中的HttpUtility.UrlDecode解码Microsoft Identity Register电子邮件令牌。我注意到这个方法将+字符替换为空格 e、 g HttpUtility.UrlDecode(“Twi7p9eKNTbb6czuonazQbN8JFKvdcqfshzkphpp8VBZMSx8VzWmIQrWDV34YHG6Xe/FCjTyiaX8p+lwYdjyk/oJ/+eFKOOez0/tidylCFCT62uxy5edvzbQf
HttpUtility.UrlDecode
解码Microsoft Identity Register电子邮件令牌。我注意到这个方法将+
字符替换为空格
e、 g
HttpUtility.UrlDecode(“Twi7p9eKNTbb6czuonazQbN8JFKvdcqfshzkphpp8VBZMSx8VzWmIQrWDV34YHG6Xe/FCjTyiaX8p+lwYdjyk/oJ/+eFKOOez0/tidylCFCT62uxy5edvzbQfz8bvskPFgWSN3JjLqlQbSCve3WBYQ40ugzB+TGV+SRbrth69fxWI6YrFmWoyK7XBtpWs”)
返回
twi7p9ekntBB6czuonazQBN8JFKVDCQFSHZKPHPP8VBZMSX8VZWMIQRWDV34YHG6XE/FCjTyiaX8p lwYdjyk/oJ/eFKOOez0/TidylCFCT62Uxy5EDVZBQFZBZ8BvskPFGWSDSN3JJLQBSCAVE3WBYQ40UGZB TGV SRBRTH69FXWI6YRFMfMfMfMfMfMfMfMfMfMfMfMfWoyyyyyyyK7xB7xB7xBtpws
如果您观察到,返回标记之间有空格。这些空格是由于原始标记中的+
符号而形成的
我从浏览器中获取令牌作为api路由:/api/{token}/validate
的一部分
我是否可以解码microsoft identity生成的令牌而不替换+
符号 在我看来,该令牌不是URL编码的。如果它是URL编码的,斜杠可能是百分比编码的。你确定它还没有被解码吗?除了@Matti说的,String.Replace(“+”,“%2B”)
可能吗?你应该先编码,然后“+”将变成“%20”,否则加号将被替换为空格。这是标准的HTTP。