在URL中使用带有非法字符的HttpGet

Cat*_*san 8 java http http-get httpclient httpwebrequest

我正在尝试使用DefaultHttpClient并向HttpGetWeb服务发出请求.遗憾的是,Web服务URL包含非法字符,例如{(例如:domain.com/service/{username}).很明显,Web服务命名不是很好,但我无法改变它.

当我这样做时HttpGet(url),我知道我在网址中有一个非法字符(即{和}).如果我在此之前对URL进行编码,则没有错误,但请求会转到不同的URL.

网址虽然有非法字符,但可以在浏览器中使用,但HttpGet实现不允许我使用它.我应该做什么或使用什么来避免这个问题?

Mik*_*ike 10

http://java.sun.com/javase/6/docs/api/java/net/URLEncoder.html

特别:

String safeUrl = URLEncoder.encode("domain.com/service/{username}", "UTF-8");
Run Code Online (Sandbox Code Playgroud)