Android學習之GET,POST與后台交互亂碼問題


今天遇見Android與后台交互出現亂碼的問題,覺得有必要總結一下,作為參考,遂著文以記之。

交互?通俗點就是GET,POST,當然遠遠不止這些,我也記不住就不提了,常用的就是這倆。

二者的區別:

Get是向服務器發索取數據的一種請求,而Post是向服務器提交數據的一種請求,在FORM(表單)中,Method默認為”GET”,實質上,GET和POST只是發送機制不同,並不是一個取一個發!

1.安全性:GET請求,參數會以&連接在URL尾部,可見,PSOT請求,會將參數放在body中,不可見。

解決:理論上我們可以對參數進行加密,這樣就算參數可見也不會泄露問題,如果是黑客,你咋樣都不安全,所以對於安全,看個人理解了。

2.長度限制:GET請求理論上提交的數據最多只能是1024字節,POST沒有這種限制,可以傳大量數據。

解決:GET請求通過URL傳遞參數,URL越長,則提交數據越多,二者成正比,
但是Http協議並沒有對URL長度做出限制,這個顯示是瀏覽器對URL做的限制。同理,POST也是如此,而之所以會有上傳數據限制,是由服務器處理程序的能力決定的。

亂碼解決辦法:

1.雙方約定同樣的編碼方式(一般都是UTF-8),Android studio使用者只需要修改這幾個地方

這里寫圖片描述

這里寫圖片描述

就這么幾個地方就行了

2.就需要檢查交互方法,后台post提交則需要UTF-8編碼,get提交這需要iso 8859-1編碼

所以如果后台要用utf-8編碼的話,那么你就要post你的接口。

3.如果還不行,就要后台檢查是否添加這一句:

request.setCharacterEncoding(“utf-8”)
默認是ISO-8859-1;該方法必須在response.getWriter()之前進行設置

總結完畢!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM