JavaでURLを構築するにはどうすればいいですか? 質問する

JavaでURLを構築するにはどうすればいいですか? 質問する

StringBuilderで文字列を構築しています

StringBuilder builder = new StringBuilder();
builder.append("my parameters");
builder.append("other parameters");

それからURLを構築します

Url url = new Url(builder.toString());

そして接続を試みる

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

しかし、私が得た結果から見ると、URL は正しくないようです。一部のパラメータが誤って渡されているようです。そのため、問題は StringBuilder の部分にあると思います。

問題は、渡そうとしている二重パラメータにあります。

double longitude = 23.433114;
String lng = String.ValueOf(longitude);

そしてそれを URL に入力します。ただし、文字列として指定すると結果は正しいものになります。

String lng = "23.433114"

UrlEncoding は必要ですか? 以下の提案を試してみます。

ベストアンサー1

Apache を試してくださいURIBuilder: [ドキュメンテーション]

import org.apache.http.client.utils.URIBuilder;

// ...

URIBuilder b = new URIBuilder("http://example.com");
b.addParameter("t", "search");
b.addParameter("q", "apples");

Url url = b.build().toUrl();

Maven 依存関係:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.1</version>
</dependency>

おすすめ記事