![]() |
1
14
建议的解决方案:
应该工作得很好。关于您的担忧:
这很容易通过以下方式缓解 reading about base64 。在现代base64中,唯一合法的非字母数字字符是“/”、“+”和“=”(仅用于填充)。 其中,“+”是唯一一个在URL中具有特殊含义的转义表示。虽然其他两个在URL(路径分隔符和查询字符串分隔符)中具有特殊意义,但它们应该不会造成问题。 所以我认为你应该没事。 |
![]() |
2
11
您可以手动替换该值(
但是,您应该尝试解决给出URL的问题;加号需要在URL中编码为“%2B”,因为加号表示空格。 如果您不控制入站URL,则首选第一个选项,因为这样可以避免最多的错误。 |
![]() |
3
4
我也遇到了同样的问题,除了我可以控制我的网址
http://localhost/childapp/default.aspx?TokenID=0XU%2fKUTLau%2bnSWR7%2b5Z7DbZrhKZMyeqStyTPonw1OdI%3d 当我执行以下操作时。
它仍然无法转换
然后它就正常工作了。真的很奇怪。 |
![]() |
4
2
我对一个包含Base64值的参数也有类似的问题,当它带有“+”时。 只有请求。QueryString[“VLTrap”]。替换(“”、“+”);对我来说工作得很好; 没有UrlEncode或其他编码帮助,因为即使您自己在页面上显示编码为“%2b”的“+”的编码链接,当它显示时,浏览器也会首先将其更改为“+”,当您单击它时,浏览器会将它更改为空白。所以,即使你自己显示链接,也无法像原始海报所说的那样控制它。即使在html电子邮件中,这种链接也是如此。 |
![]() |
5
2
如果你使用
|
![]() |
6
1
如果在将字符串添加到URL之前对其进行URL编码,则不会出现任何问题(自动URL解码会将其恢复到原始状态)。 |
![]() |
7
1
显然,在将Base64字符串URLEncoded发送到服务器之前,您应该对其进行编码。
|
![]() |
8
1
|
![]() |
9
1
作为一种快速破解,您可以在base64解码之前用加号字符替换空格。 |
![]() |
10
0
我绝不是C#开发人员,但看起来你需要在将Base64字符串作为url发送之前对其进行url ENCODE。 |
![]() |
11
0
你就不能假设一个空格是+并替换它吗?
;) |
![]() |
A B · C#Excel自动调整列避免长文本时出错 6 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 6 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 6 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 6 月前 |