今日在通 CloseableHttpClient 進行Http請求的時候遇到的一個傳遞過去的中文亂碼的問題。
請求的參數是通過 StringEntity 來封裝的,是一個Json的字符串,之前傳遞的時候也沒有問題,但是這次轉換的時候就報錯了
所以猜測可能是傳遞的內容的問題,后來通過對上游調用的分析發現是因為在傳遞參數過程中,有一個參數是中文,進而導致在計算簽名的時候出現了驗簽失敗
所以在這里記錄,大家以后在通過 StringEntity 處理參數的時候一定要注意中文的問題:
StringEntity httpEntity = new StringEntity(JSON.toJSONString(params),"UTF-8"); httpEntity.setContentType("application/json");