2

次のような GET メソッドがあります。

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

このようなパスは、ブラウザーに直接入力すると問題なく機能しますが、上記の行を実行すると IllegalArgumentException : Invalid URI が発生します。

URIUtilsクラスの使用を検討しましたが、成功しませんでした。これを自動的にエンコードする方法はありますか (または、HttpClient を barf にせずに URL にクエリ文字列を追加する方法はありますか?)。

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 に答える