如何解决Http请求参数中加号变空格问题
生活随笔
收集整理的這篇文章主要介紹了
如何解决Http请求参数中加号变空格问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述:
當使用.NET編寫Winform程序,構建Http Post 請求,并傳遞若干參數給遠程服務器時,如果參數中包含加號'+'等符號時,http請求發送后,服務器收到并解析時,加號會被解碼為空格。
舉例說明:
若參數中含有:fileName = "[宮崎駿作品全集+Ghibli相關作品].txt" 此時,傳遞到服務器上以后,服務器接收到的數據會變成:[宮崎駿作品全集 Ghibli相關作品].txt加號會變成空格! (如果全程都使用的utf-8編碼格式)
錯誤原因:
我沒有深究原因,寬泛的說,就是在傳輸前后過程中,經歷的幾次編碼和解碼標準不同,導致加號、空格等字符的錯誤。簡單的解決方法:
遇到這種情況時,一種快速的解決方法是: 把參數中所有的加號“+”,替換為“%2B”即可 (可能這種方法并不好,應該可以采用傳遞前對數據進行某格式的encode,獲取數據時進行decode即可) 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的如何解决Http请求参数中加号变空格问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AWS IoT Core 资源
- 下一篇: HTTP文件下载原理(OTA 下载 断点