Làm cách nào để mã hóa các tham số truy vấn để đi đến một url trong Java? Tôi biết, đây dường như là một câu hỏi hiển nhiên và đã được đặt ra.
Có hai điều tinh tế mà tôi không chắc:
- Khoảng trắng có nên được mã hóa trên url là "+" hoặc "% 20" không? Trong chrome nếu tôi nhập "http://google.com/foo=?bar me" chrome sẽ chuyển nó thành mã hóa% 20
- Có cần / chính xác để mã hóa dấu hai chấm ":" dưới dạng% 3B không? Chrome thì không.
Ghi chú:
java.net.URLEncoder.encode
dường như không hoạt động, nó có vẻ là để mã hóa dữ liệu được gửi biểu mẫu. Ví dụ: nó mã hóa khoảng trắng+
thay vì%20
mã hóa dấu hai chấm không cần thiết.java.net.URI
không mã hóa các tham số truy vấn
application/x-www-form-urlencoded
các cặp khóa / giá trị. Xem ở đây để biết thêm: bất hợp phápargumentexception.blogspot.com/2009/12/