KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
In Java, I need to use HTTP Post to send request to server, but if in the parameter of the URL contains some special character it throws below Exception java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "&'" The code to send data DefaultHttpClient httpclient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(URL); String sessionId = RequestUtil.getRequest().getSession().getId(); String data = arg.getData().toString(); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair(param1, data)); params.add(new BasicNameValuePair(param2, sessionId)); httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8")); HttpResponse response = (HttpResponse) httpclient.execute(httpPost); And at the server side, i use the below code to read information String data = request.getParameter(param1); if (data != null) { actionArg = new ChannelArg(URLDecoder.decode(data, "UTF-8")); } The code works correctly but if i input some special character like [aああ#$%&'(<>?/.,あああああ], it will throw exception. I wonder if someone could help me some hint to be able to encode and decode special characters? Thank you very much in advance.
Tags (comma-separated)
Save Edits
Cancel