0
我正在通过获取请求进行身份验证的Web应用程序(并且我没有其他选项),该方法已经工作,除了密码包含特殊字符的用户,例如有一个密码:* cHara *。如果用户和密码组合是正确的响应是一些信息的JSON,否则我得到{有效:0}一个JSON,这里的代码:如何处理密码字段GET请求中的特殊字符?
url = new URL("http://www.secret.url.com.co");
String RESOURCE = "/authLdap/";
String pass = URLEncoder.encode(password,"UTF-8");
tUrl = new URL(url + RESOURCE + "?usuario=" + usuario + "&clave=" + pass);
HttpURLConnection req;
req = (HttpURLConnection) tUrl.openConnection();
req.setDoOutput(true);
req.setRequestMethod("GET");
req.setRequestProperty("Content-Type", "application/json");
BufferedReader in;
in = new BufferedReader(new InputStreamReader(req.getInputStream()));
我应该如何编码通过?
URLEncode他们。 –
什么位于远程端?它知道它必须URLDecode它得到什么吗? –
在远程端,我没有控制权。其实我知道密码的工作原理是因为更深层次的是LDAP认证,即在其他使用LDAP的页面中直接使用密码,但是对于我和我的应用程序权限是有限的,并且仅通过此url无法直接访问LDAP。 – jaundavid