buduję ciąg z StringBuilderJak zbudować adres URL w języku Java?
StringBuilder builder = new StringBuilder();
builder.append("my parameters");
builder.append("other parameters");
potem zbudować URL
Url url = new Url(builder.toString());
a potem spróbować połączenia
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
Ale url nie wydaje się być w porządku z wyniki, które otrzymuję. To tak, jakby niektóre parametry były błędnie przekazywane. Dlatego myślę, że problem leży w części StringBuilder.
Problem występuje w podwójnym parametrze, który próbuję przekazać.
double longitude = 23.433114;
String lng = String.ValueOf(longitude);
A potem umieszczam go w adresie URL. Ale jeśli dam to jako ciąg, wynik jest poprawny.
String lng = "23.433114"
Czy konieczne jest UrlEncoding? Spróbuję tego, co jest sugerowane poniżej.
Powinieneś używać biblioteki, która zawiera szablony URI (zobacz [tutaj] (https://github.com/fge/uri-template) na przykład) – fge
@RealSkeptic 'URLEncoder.encode()' koduje dla aplikacji/x-www-form-urlencoded', co jest dość różne od kodowania parametrów zapytania/fragmentów URI/itp. – fge
@ fge Nie, kod URL jest standardowym schematem kodowania. Jest używany zarówno do parametrów w zapytaniach GET, jak i do parametrów w zapytaniach POST, które są application/x-www-form-urlencoded. Zobacz [Wikipedia] (http://en.wikipedia.org/wiki/Percent- kodowanie). – RealSkeptic