我是新手,无法找到确切的答案。我在URL中有特殊字符,例如
"&", "#", "?" "<"
它会导致问题。 (如果有人可以建议如何处理这种情况,那么这将是一个额外的帮助)。我的主要问题是,如何在JAVA中表示以下类型的URL的字符串文字?
"x###y"
我了解到我们需要设置hex
代码值(使用%
)。有人可以建议确切的答案来解决这个URL问题吗?
答案 0 :(得分:4)
答案 1 :(得分:1)
java.net.URLEncoder.encode(YOUR_STRING, "UTF-8");
另请参阅this question,了解仅对您需要的网址部分进行编码的方法:
答案 2 :(得分:1)
答案取决于数据在URL中的位置。 URL的不同部分将有不同的编码规则。
确切的形式也可能取决于服务器期望的URI格式。
查询部分中的参数通常可以使用URLEncoder编码为application/x-www-form-urlencoded
:
String query = URLEncoder.encode("key1", "UTF-8")
+ "="
+ URLEncoder.encode("value1", "UTF-8")
+ "&"
+ URLEncoder.encode("key2", "UTF-8")
+ "="
+ URLEncoder.encode("value2", "UTF-8");
如果您需要在URI的其他部分(路径部分或片段部分)进行编码,请阅读this。
答案 3 :(得分:0)
URLEncoder is not for encoding URLs it is there to encode form data
请参阅以下链接了解更多详情