【发布时间】: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