java - 在java中将订单列表更改为西类牙语

标签 java url

我正在获取网页的 html 来获取一些信息,但它总是英文的,我需要西类牙文的,如何使用 java 中的用户代理更改语言,我不太喜欢 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;
}

在页面中,可以通过列表更改语言。 Code

最佳答案

使用 URLConnection 您绝对无法在返回的页面上进行“点击”。不过,您有几个选择,这完全取决于网站的功能:

  1. 有一个 Accept-Language您可以在发出的 HTTP 请求上设置 header :

    connection.setRequestProperty("Accept-Language", "es_ES");
    
  2. 目标站点可能设置了一些Cookie跟踪您选择的语言,找到它并使用它。您可以找到它,例如在 Chrome 中使用 Developer tools : enter image description here
    在这里您可以看到 lang Cookie 设置为 en

    connection.setRequestProperty("Cookie", "lang=en");
    
  3. 语言有时被接受作为请求参数

    new URL(lineas + "?lang=en").openConnection();
    

关于java - 在java中将订单列表更改为西类牙语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36066498/

相关文章:

java - 如何正确地对可打包对象进行单元测试?

java - 如何配置在 Tomcat 容器中运行的 Java Servlet 以提供 HTML 文件(无 JSP)

java - 有没有办法找到哪个区域 BorderLayout 停靠了用户可拖动的 JToolBar

C# 如何从帖子接收数据

URL 关键字与 URL 可读性

java - 如何在 Hibernate 中内连接两个独立实体

java - httpclient 可以使用当前登录用户自动创建授权 header 作为 java URLConnection 吗?

java - encodeRedirectURL 改变了一些字符

php - 获取完整的 url,包括哈希后的查询字符串

javascript - 如何编写/更改查询字符串而不导致浏览器加载新页面