尝试使用java

时间:2018-06-11 13:43:40

标签: java json httpconnection

嘿大家第一次发帖所以我相信我会错过一些堆栈标准。

无论如何我在尝试使用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”。我已经在堆栈上尝试了其他类似的问题,但无法提出解决方案。

1 个答案:

答案 0 :(得分:1)

要解决此问题,我更改了该行 uc.setRequestProperty(" Accept"," application / json"); 至 uc.setRequestProperty(" Content-Type"," application / json");