【发布时间】:2016-01-03 06:35:27
【问题描述】:
存在大量网页,例如 Wikipedia,它们在 URL 中有语言注释(例如,德语 Wikipedia 方面是 de.wikipedia.org)。因此,以多种语言连接到维基百科是微不足道的,例如只需将“de”更改为“en”。这导致了我的问题。如果主页提供多种语言,但其 URL 中没有语言注释怎么办?
当我用 Java 连接到以下主页 (http://www.hermes.admin.ch/) 时,它总是以英文显示。我发现,英语是默认语言。但是,他们提供通过单击右上角的语言类型来更改语言。从源代码中,以下代码片段显示了活动语言:
<!-- German -->
<li>
<script type="text/javascript" src="/javax.faces.resource/jsf.js.xhtml?ln=javax.faces"></script>
<a id="lang-select-form_de" href="#" onclick="mojarra.jsfcljs(document.getElementById('lang-select-form'),{'lang-select-form_de':'lang-select-form_de'},'');return false" class="inactive">Deutsch</a>
</li>
<!-- French -->
<li><a id="lang-select-form_fr" href="#" onclick="mojarra.jsfcljs(document.getElementById('lang-select-form'),{'lang-select-form_fr':'lang-select-form_fr'},'');return false" class="inactive">Français</a>
</li>
<!-- Italian -->
<li><a id="lang-select-form_it" href="#" onclick="mojarra.jsfcljs(document.getElementById('lang-select-form'),{'lang-select-form_it':'lang-select-form_it'},'');return false" class="inactive">Italiano</a>
</li>
<!-- English -->
<li class="last"><a id="lang-select-form_en" href="#" onclick="mojarra.jsfcljs(document.getElementById('lang-select-form'),{'lang-select-form_en':'lang-select-form_en'},'');return false" class="active">English</a>
</li>
因此,找出哪些语言是活跃的很容易。不过,我不知道如何告诉使用 Java 的一方将活动语言设置为德语,而无需单击右上角的链接。
我的 Java 连接:
String url = "http://www.hermes.admin.ch/onlinepublikation/index.xhtml";
URL myURL = new URL(url);
CookieHandler.setDefault(new CookieManager(null, CookiePolicy.ACCEPT_ALL));
URLConnection myURLConnection = myURL.openConnection();
myURLConnection.connect();
InputStream is = myURLConnection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
line = "";
while ((line = br.readLine()) != null) {
System.out.println(line);
}
使用上面的代码,我只能得到英文页面。我也想用德语、法语和意大利语加载它。我该怎么做?
【问题讨论】:
-
默认语言是您的浏览器要求的,而不是本网站的决定。