0

URLの括弧を見つけてそのURLエンコーディングに置き換える正規表現パターンが必要です。

たとえば、次のようなベース URL:

http://www.mysite.com/bla/blabla/abc[1].txt

次のようになります。

http://www.mysite.com/bla/blabla/abc%5B1%5D.txt

誰でも助けてもらえますか?

EDIT1: 私はもともと commons-httpclient を使用して、この種の URL にアクセスしています。最初の URL を使用すると、「エスケープされた絶対パスが有効ではありません」という例外が発生します。

URLENCODER を使用すると、「ホスト パラメータが null です」という例外が発生するため、使用できません。

4

2 に答える 2

2

次の行でうまくいくはずです

String s = URLEncoder.encode("http://www.mysite.com/bla/blabla/abc[1].txt", "UTF-8");
于 2012-06-27T13:33:24.243 に答える
-1

URLEncoder.encode を試しましたか?

java.net.URLEncoder パッケージに含まれています。

編集:

わかりました... URL全体をURLEncoderに渡すことはできません。URLEncoder は主に、クエリ パラメーターをエンコードするために使用されます。

代わりにこれを試してください:

URI uri = new URI("http", "www.mysite.com", "/bla/blabla/abc[1].txt",null);
    System.out.println(uri.toASCIIString());
于 2012-06-27T13:33:52.357 に答える