2

我有一个如下所示的 GET 方法:

 GetMethod method = new GetMethod("http://host/path/?key=[\"item\",\"item\"]");

这样的路径在直接输入浏览器时工作得很好,但是上面的行在运行时会导致 IllegalArgumentException : Invalid URI。

我看过使用URIUtils类,但没有成功。有没有办法自动对此进行编码(或在 URL 上添加查询字符串而不会导致 HttpClient 出错?)。

4

2 回答 2

2

提到的URIUtils类有一个方法encodeAll(str)- 所以:

new GetMethod("http://host/path/?key=" 
       + URIUtil.encodeAll("[\"item\",\"item\"]"));
于 2010-04-12T20:31:53.303 回答
2

您还可以使用 java.net.URLEncoder:

String myURL = "http://host/path/?" +
  URLEncoder.encode("key=[\"item\",\"item\"]", UTF-8);
于 2010-04-12T20:51:16.787 回答