发送包含等号(=)字符的查询参数值
Send Query parameter value containing equals(=) character
我正在为 android 开发一个简单的基于 http 的应用程序。
我在服务器上有 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 收到包含等号 (=) 字符的密码?
这是我的 PHP 过滤密码的代码:
$password = filter_input(INPUT_GET, 'password', FILTER_SANITIZE_SPECIAL_CHARS);
感谢您的帮助。
尝试使用 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);
我正在为 android 开发一个简单的基于 http 的应用程序。
我在服务器上有 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 收到包含等号 (=) 字符的密码?
这是我的 PHP 过滤密码的代码:
$password = filter_input(INPUT_GET, 'password', FILTER_SANITIZE_SPECIAL_CHARS);
感谢您的帮助。
尝试使用 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);