我有一个如下所示的 GET 方法:
GetMethod method = new GetMethod("http://host/path/?key=[\"item\",\"item\"]");
这样的路径在直接输入浏览器时工作得很好,但是上面的行在运行时会导致 IllegalArgumentException : Invalid URI。
我看过使用URIUtils类,但没有成功。有没有办法自动对此进行编码(或在 URL 上添加查询字符串而不会导致 HttpClient 出错?)。
我有一个如下所示的 GET 方法:
GetMethod method = new GetMethod("http://host/path/?key=[\"item\",\"item\"]");
这样的路径在直接输入浏览器时工作得很好,但是上面的行在运行时会导致 IllegalArgumentException : Invalid URI。
我看过使用URIUtils类,但没有成功。有没有办法自动对此进行编码(或在 URL 上添加查询字符串而不会导致 HttpClient 出错?)。
提到的URIUtils类有一个方法encodeAll(str)- 所以:
new GetMethod("http://host/path/?key="
+ URIUtil.encodeAll("[\"item\",\"item\"]"));
您还可以使用 java.net.URLEncoder:
String myURL = "http://host/path/?" +
URLEncoder.encode("key=[\"item\",\"item\"]", UTF-8);