2016-04-20 33 views
0

我的問題與Keep url encoded while using URI class相同,但關於Windows Phone的工作方式不同。對於編碼的URL,Windows Phone等同於DontUnescapePathDotsAndSlashes

我有一個包含URL編碼部分,看起來像這樣

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

當我嘗試從它創建一個UriWebBrowser它改變

使用支付門的URL

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

這是錯誤的。根據提到的quetsion,解決方案是在app.config中進行更改。但是Windows Phone應用程序中沒有app.config。

那麼有沒有辦法強制Uri不解碼(和擰)在Windows Phone中的URL?

+0

這是Windows Phone Silverlight還是WinRT?我無法重現WinRT版本的行爲。 實際上,您仍然可以在項目根目錄中創建'app.config',並使用http://stackoverflow.com/questions/11034569/keep-url-encoded-while-using-uri-class中提到的值填充它。 – Paulos

+0

8.0 so Silverlight。是的,我可以將app.config添加到項目中,但它什麼都不做。 –

+0

不要忘記這是HTTPS,所以你需要將'name =「http」'改成'name =「https」'。 – Paulos

回答

1

這是在.net中的terribble錯誤請參閱GETting a URL with an url-encoded slash

%2f在路徑是未逸出到/

我發現了一個解決方案。嘗試導航WebBrowser組件,以便與此主體字符串匹配:<html><body><scirpt type="text/javascript">window.location = "url";</script></body></html>其中url是您的原始網址。

+0

醜陋的黑客,但它現在的作品 –