在Java / Apache HttpClient中无法使用垂直/管道栏处理URL

前端之家收集整理的这篇文章主要介绍了在Java / Apache HttpClient中无法使用垂直/管道栏处理URL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我想处理这个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

猜你在找的Java相关文章