如果我想处理这个url,例如:
post = new HttpPost("http://testurl.com/lists/lprocess?action=LoadList|401814|1");
Java / Apache不会让我,因为它表示垂直栏(“|”)是非法的.
用双斜线逃脱它也不行:
post = new HttpPost("http://testurl.com/lists/lprocess?action=LoadList\\|401814\\|1");
^这不行.
任何建议如何使这项工作?
解决方法
尝试用URLEncoder.encode()
注意:您应该编码字符串,这是在action =不完整的URL之后
post = new HttpPost("http://testurl.com/lists/lprocess?action="+URLEncoder.encode("LoadList|401814|1","UTF-8"));
参考http://docs.oracle.com/javase/7/docs/api/java/net/URLEncoder.html