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.encodedườ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ì%20mã hóa dấu hai chấm không cần thiết.java.net.URIkhông mã hóa các tham số truy vấn
application/x-www-form-urlencodedcác cặp khóa / giá trị. Xem ở đây để biết thêm: bất hợp phápargumentexception.blogspot.com/2009/12/