我正在获取网页的html以获取一些信息,但它总是用英语,我需要用西班牙语,我怎样才能在java中使用用户代理更改语言,I& #39;我没有真正进入javascript或jquery。 获取HTML的代码
private String conexion(String lineas) {
System.setProperty("java.net.useSystemProxies", "true");
String content = null;
URLConnection connection = null;
try {
connection = new URL(lineas).openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
Scanner scanner = new Scanner(connection.getInputStream());
scanner.useDelimiter("\\Z");
content = scanner.next();
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, "¡¡Ese link no Existe!!", "Error", JOptionPane.ERROR_MESSAGE);
}
return content;
}
答案 0 :(得分:1)
使用URLConnection,您肯定无法对返回的页面进行“点击”。但是,您有几个选项,这一切都取决于网站功能:
您可以根据自己的HTTP请求设置Accept-Language标头:
connection.setRequestProperty("Accept-Language", "es_ES");
目标网站可能会设置一些Cookie来跟踪您选择的语言,找到并使用它。你可以找到它,例如在Developer tools的Chrome中:
在这里,您可以看到lang
Cookie设置为en
。
connection.setRequestProperty("Cookie", "lang=en");
语言有时被接受为请求参数
new URL(lineas + "?lang=en").openConnection();