2015-03-25 63 views
0

我正在爲一個簡單的基於http的應用程序的Android。發送包含等於(=)的查詢參數值字符

我有一個服務器的login.php,我發送請求給它以下面的值。

Uri.Builder loginUri =Uri.parse(LOGIN_API_URL).buildUpon(); 
loginUri.appendQueryParameter("username", username); 
loginUri.appendQueryParameter("password", "FXK3guidUGU="); 
aQuery.ajax(loginUri.build().toString(), JSONObject.class,loginResponse); 

請求正常,但PHP代碼收到的密碼爲FXK3guidUGU。可能是因爲等於(=)字符。我如何確保PHP收到包含equals(=)字符的密碼?

這裏是我的PHP代碼過濾密碼:

$password = filter_input(INPUT_GET, 'password', FILTER_SANITIZE_SPECIAL_CHARS); 

感謝您的幫助。

回答

1

嘗試使用URLEncoder的

Uri.Builder loginUri =Uri.parse(LOGIN_API_URL).buildUpon(); 
loginUri.appendQueryParameter("username", username); 
loginUri.appendQueryParameter("password", URLEncoder.encode("FXK3guidUGU=", "UTF-8")); 
aQuery.ajax(loginUri.build().toString(), JSONObject.class,loginResponse); 
+0

出於某種原因,不能正常工作。從服務器獲取日誌。 – nmvictor 2015-03-25 11:04:06

+0

@ nmvictor:將編輯建議給答案的作者,或者如果需要,請提出自己的答案。你的編輯是「把詞語放在他的嘴裏」,這通常是不被批准的。 – tmt 2015-03-25 11:48:21

+0

對不起,我的意思是如此。只是爲了改進答案。無論如何,我接受了答案,並感謝所有。 – nmvictor 2015-03-26 20:06:51

相關問題