如何从网站 GET 请求中获取带有正确文本的字符串,避免特殊的 HTML 代码?
How to get strings with the right text from a website GET request, avoiding special HTML codes?
我正在使用 GET 请求通过 HttpConnection 对象获取西班牙网站代码。当我通过控制台(网站代码)打印输出时,西班牙字符不存在。相反,有一些 "weird" 个字符。
网站的编码应该是"UTF-8"(),不知道西班牙文字符(á,ñ等)是怎么处理的
我尝试了很多东西,比如在 setRequestProperty 方法中用 UTF-8 定义字符集 属性,从 char 数组构建字符串,使用 UTF- 从字节数组构建字符串8 特定编码,因为我在某处读到 Java String class 默认情况下以 UTF-16 构建字符串,并且,不。它仍然给我所有那些奇怪的字符。
我也使用 ISO-8859-1 编码尝试了同样的事情,结果同样糟糕,而且也没有任何编码规范。
好的,我知道这些字符确实遵循一种模式,我可以将它们设为 class 到 "translate",但我很确定在那之前还有更好的选择.
String myMethod() {
con.setRequestMethod("GET");
con.setRequestProperty("User-Agent", "Mozilla/5.0");
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
con.setUseCaches(false);
con.setDoInput(true);
reader = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
return reader.lines().collect(Collectors.joining("\n"));
}
这就是其中一个例子。
网站上写的那句话(也是我想得到的):
"Equipo de protección otoño de toda la estaciòn"
我实际从输出中得到的句子:
"Equipo de protección otoño de toda la estaciòn"
我不确定这是不是真的,但我确定这是真的。
String dirty = "Equipo de protección otoño de toda la estaciòn";
String clean = StringEscapeUtils.unescapeHtml(dirty);
产出:全季秋季防护装备
希望这对您有所帮助。祝你好运。 Post 如果您有任何 follow-up 问题,请发表评论。
我正在使用 GET 请求通过 HttpConnection 对象获取西班牙网站代码。当我通过控制台(网站代码)打印输出时,西班牙字符不存在。相反,有一些 "weird" 个字符。
网站的编码应该是"UTF-8"(),不知道西班牙文字符(á,ñ等)是怎么处理的
我尝试了很多东西,比如在 setRequestProperty 方法中用 UTF-8 定义字符集 属性,从 char 数组构建字符串,使用 UTF- 从字节数组构建字符串8 特定编码,因为我在某处读到 Java String class 默认情况下以 UTF-16 构建字符串,并且,不。它仍然给我所有那些奇怪的字符。
我也使用 ISO-8859-1 编码尝试了同样的事情,结果同样糟糕,而且也没有任何编码规范。
好的,我知道这些字符确实遵循一种模式,我可以将它们设为 class 到 "translate",但我很确定在那之前还有更好的选择.
String myMethod() {
con.setRequestMethod("GET");
con.setRequestProperty("User-Agent", "Mozilla/5.0");
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
con.setUseCaches(false);
con.setDoInput(true);
reader = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
return reader.lines().collect(Collectors.joining("\n"));
}
这就是其中一个例子。
网站上写的那句话(也是我想得到的):
"Equipo de protección otoño de toda la estaciòn"
我实际从输出中得到的句子:
"Equipo de protección otoño de toda la estaciòn"
我不确定这是不是真的,但我确定这是真的。
String dirty = "Equipo de protección otoño de toda la estaciòn";
String clean = StringEscapeUtils.unescapeHtml(dirty);
产出:全季秋季防护装备
希望这对您有所帮助。祝你好运。 Post 如果您有任何 follow-up 问题,请发表评论。