发送包含equals(=)字符的Query参数值

时间:2015-03-25 08:17:58

标签: php android http aquery

我正在开发一个基于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 个答案:

答案 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);