我正在編寫Windows商店應用程序,並在我的DAL中從Web服務獲取XML數據。 我正在使用網站的API公開的HTTP GET請求和響應。在Windows Store應用程序中GET/POST請求參數編碼問題
我是能夠成功地擺脫各種方法,數據不需要參數, 或獲取整數parametrs ..
問題開始時,我不得不使用字符串參數,順利通過英語字符串,但字符串在希伯來語別。
當我使用由網站的API開發的測試表單,輸入說「נאפיס」到文本框,它返回一個XML罰款,並與嗅探器,我看到該字符串編碼爲%E3%E9%F7 %F1%E9
當我用相同名稱的代碼自己構建URI時,我只獲取XML的模式,並且我看到該字符串編碼爲%D7%93%D7%99%D7%A7%D7 %A1%D7%99 - 含義用UTF-8編碼的URL ..
我嘗試編碼到希伯來語並解碼回UTF-8,並得到這個字符串:ðàôéñ 當我把它放在這樣的工具: http://coderstoolbox.net/string/ i se如果我URL編碼的字符串(ðàôéñ),我會得到所需的%F0%E0%F4%E9%F1。
所以我把這個字符串發送給api,但它只是返回沒有實際數據的XML模式,但它顯示爲%C3%B0%C3%A0%C3%B4%C3%A9%C3%B1。
我試過的另一種方法是以不同的方式對希伯來字進行編碼。 由於WinRT不支持「httputility」,我不得不用反射器將其導入。..必須告訴你,這是沒有趣..
我結束了編碼的「נאפיס」與%u05e0%u05d0 %u05e4%u05d9%u05e1 當我使用它從一個瀏覽器,像這樣:
它的偉大工程,獲得實際的XML數據,並在嗅探器,參數保持不變(%u05e0% u05d0%u05e4%u05d9%u05e1)。
但是當我使用它從我的代碼,我再次得到的只是架構,並在嗅探器,我看到字符串被編碼到這一點: %25u05e0%25u05d0%25u05e4%25u05d9%25u05e1 這意味着它是網址再次編碼!
我從這個如此絕望。我試了一下所有的組合..
有誰對這個想法?謝謝。