...
代码块 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
String server = "http://域名:端口/smartbi"; String user = "user"; String password = "password"; ObjectMapper mapper = new ObjectMapper(); Map<String, String> cookies = new HashMap<>(); HttpRequest request = HttpRequest.get(server + "/vision/openresource.jsp?resid=I402882c701552f492f49736e01552f4df2c50013&user=" + user + "&password=" + password); try (HttpResponse response = request.execute()) { for (HttpCookie cookie : response.getCookies()) { cookies.put(cookie.getName(), cookie.getValue()); } } request = HttpRequest.post(server + "/vision/aichat/proxy/api/v1/login") .cookie(toCookie(cookies)) .form("userName", user) .form("smartbiServer", server) .form("loginMethod", "login") .form("cookie", toCookie(cookies)); String token = null; try (HttpResponse response = request.execute()) { for (HttpCookie cookie : response.getCookies()) { cookies.put(cookie.getName(), cookie.getValue()); } JsonNode tree = mapper.readTree(response.body()); token = tree.get("token").asText(); } Thread.sleep(5000); // 旧版本由于存在问题,需要 sleep。 新版本后不需要 request = HttpRequest.post(server + "/vision/aichat/proxy/api/v3/conv/query") .cookie(toCookie(cookies)) .header("token", token) .form("datasetId", "Iff808081018354c854c8f0fa018354cbde880001") .form("convId", "70c69b66-7af7-45fc-b51c-b486ceba1a43") .form("question", "车均价 ") .form("queryType", "analysis") .form("id", "285fce7d-14e2-4a63-ab33-cf9abf09c41f") .form("pageSize", "10000") .form("showRows", "1000") .form("need_inquiry", "false") .form("onlyQueryChart", "false") .form("autoRecommendedChart", "false"); try (HttpResponse response = request.execute()) { System.out.println(response.body()); } |
...