【问题标题】:406 error when attempting to run a sql query with java尝试使用 java 运行 sql 查询时出现 406 错误
【发布时间】:2018-06-11 13:43:40
【问题描述】:

大家好,第一次发帖,所以我肯定会错过一些堆栈标准。

无论如何,我在尝试使用 java 运行 sql 查询时遇到 406 错误,即使我能够在不运行 sql 查询的情况下进行连接(在我的代码中,如果我取出 os.write(queryBody.getBytes( )); 我将连接,但显然无法运行我的 sql 查询。任何关于此的网站都会很棒,我一直在测试我是否在查询中做错了什么,但它似乎是正确的。我已经也试过REST客户端,但不支持无认证连接,相关代码如下:

            uc.setRequestProperty ("Authorization", basicAuth);
            uc.setRequestMethod("POST");
            uc.setRequestProperty("Accept", "application/json"); 
            uc.setDoOutput(true);


            String queryBody = "\"query\":{\"match\": {\"tables\": \"\"}}, \"size\": 50";

            OutputStream os = uc.getOutputStream();

            os.write(queryBody.getBytes());
            os.flush();


            Reader reader = new InputStreamReader(uc.getInputStream());
            while (true) {
                int ch = reader.read();
                if (ch==-1) {
                    break;
                }
                System.out.print((char)ch);
            }

我一直在搞乱 uc.setRequestProperty 行,但我无法使用它来工作。我运行 uc.getContentType() 时的输出是“application/json; charset=UTF-8”。我已经尝试过堆栈上的其他类似问题,但无法提出解决方案。

【问题讨论】:

  • 我在这里没有看到任何 SQL - 你想要一些 JSON,获取 JSON,一切都很好。
  • 这与 SQL 无关。删除 SQL 标记。请添加 SQL 代码以将其标记为 SQL。
  • 您能解释一下尝试通过 java 运行 SQL 查询与 SQL 无关吗? sql 代码以 JSON 格式发送。

标签: java json httpconnection


【解决方案1】:

为了解决这个问题,我更改了行 uc.setRequestProperty("接受", "应用程序/json"); 至 uc.setRequestProperty("Content-Type", "application/json");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 2023-04-03
    • 2013-06-16
    相关资源
    最近更新 更多