简体   繁体   English

Windows Phone的DontUnescapePathDotsAndSlashes等效于编码的URL

[英]Windows Phone equivalent of DontUnescapePathDotsAndSlashes for encoded urls

My question is the same as Keep url encoded while using URI class but regarding Windows Phone where things work differently. 我的问题与使用URI类时保持URL编码相同,但是关于Windows Phone,事情却有所不同。

I have a URL for the payment gate that contains a url encoded part and looks like this 我有一个付款门的URL,其中包含一个url编码的部分,看起来像这样

https://api.platebnibrana.csob.cz/api/v1.5/payment/process/M1MIPS0385/a820a587a8350BD/20160420123549/xDMboIwEloc3RPw1hwr22ByqMNyS4QZEkisZDlM%2bembBlET8QtzEfapMxMN8AcnnxqbKV4uEN2iTMg3TbGhcEXmlZJ6a9ZPkL7M7dBr3FkDVc11gg9zjX%2bUd1Ge7BCQtEm0DtNU8sVE%2fX56VvekooHy0T5hidQZrIIGNg1rnz3f2%2fuz1aNc5dVQSTcnfXxNlBRSMbd6kcTmKE04SjB65233ydO%2fowbQE%2fmJuUrc5w0D9YFmlM4zu16SlmDqmdcinenSv4cVkKiXMk8OYANBCJBKegRtFUo303rZRZCUHH5WI1xg55%2fGo%2bFRKV4DsIPBeSMpVf9pEBtZ6YDVMnNKpLg%3d%3d https://api.platebnibrana.csob.cz/api/v1.5/payment/process/M1MIPS0385/a820a587a8350BD/20160420123549/xDMboIwEloc3RPw1hwr22ByqMNyS4QZEkisZDlM%2bembBlET8QtzEfapMxMN8AcnnxqbKV4uEN2iTMg3TbGhcEXmlZJ6a9ZPkL7M7dBr3FkDVc11gg9zjX%2bUd1Ge7BCQtEm0DtNU8sVE%2fX56VvekooHy0T5hidQZrIIGNg1rnz3f2%2fuz1aNc5dVQSTcnfXxNlBRSMbd6kcTmKE04SjB65233ydO%2fowbQE%2fmJuUrc5w0D9YFmlM4zu16SlmDqmdcinenSv4cVkKiXMk8OYANBCJBKegRtFUo303rZRZCUHH5WI1xg55%2fGo%2bFRKV4DsIPBeSMpVf9pEBtZ6YDVMnNKpLg%3d%3d

when I try to create an Uri from it to be used with WebBrowser it changes to 当我尝试从中创建一个与WebBrowser一起使用的Uri ,它会更改为

https://api.platebnibrana.csob.cz/api/v1.5/payment/process/M1MIPS0385/a820a587a8350BD/20160420123549/xDMboIwEloc3RPw1hwr22ByqMNyS4QZEkisZDlM+embBlET8QtzEfapMxMN8AcnnxqbKV4uEN2iTMg3TbGhcEXmlZJ6a9ZPkL7M7dBr3FkDVc11gg9zjX+Ud1Ge7BCQtEm0DtNU8sVE/X56VvekooHy0T5hidQZrIIGNg1rnz3f2/uz1aNc5dVQSTcnfXxNlBRSMbd6kcTmKE04SjB65233ydO/owbQE/mJuUrc5w0D9YFmlM4zu16SlmDqmdcinenSv4cVkKiXMk8OYANBCJBKegRtFUo303rZRZCUHH5WI1xg55/Go+FRKV4DsIPBeSMpVf9pEBtZ6YDVMnNKpLg== https://api.platebnibrana.csob.cz/api/v1.5/payment/process/M1MIPS0385/a820a587a8350BD/20160420123549/xDMboIwEloc3RPw1hwr22ByqMNyS4QZEkisZDlM+embBlET8QtzEfapMxMN8AcnnxqbKV4uEN2iTMg3TbGhcEXmlZJ6a9ZPkL7M7dBr3FkDVc11gg9zjX+Ud1Ge7BCQtEm0DtNU8sVE/X56VvekooHy0T5hidQZrIIGNg1rnz3f2/uz1aNc5dVQSTcnfXxNlBRSMbd6kcTmKE04SjB65233ydO/owbQE/mJuUrc5w0D9YFmlM4zu16SlmDqmdcinenSv4cVkKiXMk8OYANBCJBKegRtFUo303rZRZCUHH5WI1xg55/Go+FRKV4DsIPBeSMpVf9pEBtZ6YDVMnNKpLg==

which is wrong. 这是错误的。 According to the mentioned quetsion, the solution is to make a change in the app.config. 根据提到的主题,解决方案是在app.config中进行更改。 But there is no app.config in Windows Phone apps. 但是Windows Phone应用程序中没有app.config。

So is there a way to force Uri not to decode (and screw) the url in Windows Phone? 因此,有没有一种方法可以强制Uri不要在Windows Phone中解码(或固定)URL?

It is terribble bug in .net see eg GETting a URL with an url-encoded slash 它是.net中的严重错误,请参见例如, 获取带有url编码斜杠的URL

When %2f in path is unescaped to / 当路径中的%2f不转义为/

I found a solution. 我找到了解决方案。 Try navigate WebBrowser component to string with this body: <html><body><scirpt type="text/javascript">window.location = "url";</script></body></html> where url is your original url. 尝试导航WebBrowser组件以使用此正文的字符串: <html><body><scirpt type="text/javascript">window.location = "url";</script></body></html>其中url是您的原始网址。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM