Tôi đang xây dựng một String với StringBuilderLàm thế nào để xây dựng url trong java?
StringBuilder builder = new StringBuilder();
builder.append("my parameters");
builder.append("other parameters");
Sau đó, tôi xây dựng một Url
Url url = new Url(builder.toString());
Và sau đó tôi cố gắng kết nối
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
Nhưng url dường như không phải là ngay từ kết quả tôi nhận được. Nó giống như một số tham số được thông qua sai. Đó là lý do tại sao tôi nghĩ rằng vấn đề là một phần của StringBuilder.
Vấn đề nằm trong tham số kép tôi cố gắng chuyển.
double longitude = 23.433114;
String lng = String.ValueOf(longitude);
Và sau đó tôi đặt nó vào url. Nhưng nếu tôi cho nó như một chuỗi kết quả là chính xác.
String lng = "23.433114"
UrlEncoding có cần thiết không? Tôi sẽ cố gắng những gì được đề xuất dưới đây.
Bạn nên sử dụng thư viện có mẫu URI (xem [ở đây] (https://github.com/fge/uri-template) ví dụ) – fge
@RealSkeptic 'URLEncoder.encode()' mã hóa cho ứng dụng/x-www-form-urlencoded', khác với mã hóa tham số truy vấn/phân đoạn URI/etc – fge
@fge Không, URLencode là lược đồ mã hóa chuẩn. Nó được sử dụng cho cả hai tham số trong các truy vấn GET và cho các tham số trong các truy vấn POST là application/x-www-form-urlencoded. Xem [Wikipedia] (http://en.wikipedia.org/wiki/Percent-encoding). – RealSkeptic