我正在开发一个基于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);
感谢您的帮助。
答案 0 :(得分: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);