【发布时间】:2010-05-27 17:42:38
【问题描述】:
我正在尝试使用 DefaultHttpClient 和 HttpGet 向 Web 服务发出请求。不幸的是,Web 服务 URL 包含非法字符,例如 {(例如:domain.com/service/{username})。很明显Web服务命名写得不好,但我不能改变它。
当我执行HttpGet(url) 时,我发现我的 url 中有一个非法字符(即 { 和 })。如果我在此之前对 URL 进行编码,则不会出现错误,但请求会转到没有任何内容的不同 URL。
该 url 虽然包含非法字符,但可以在浏览器中使用,但 HttpGet 实现不允许我使用它。我应该怎么做或改用什么来避免这个问题?
【问题讨论】:
-
您是否尝试过使用 %7B 和 %7D,例如:domain.com/service/%7Busername%7D。或者这就是你所说的编码的意思。
标签: java http httpwebrequest httpclient http-get