Мне нужно сделать 700 запросов на различные json.
К примеру, если я делаю один из таких запросов, то получение ответа занимает 12 секунд. Соотвественно на все 700 запросов уйдет около 2 часов.
Я использовал библиотеки HtmlUnit(net.sourceforge.htmlunit ) и rest-assured(com.jayway.restassured)
Пример кода на HtmlUnit на два запроса:
WebClient client = new WebClient();
Page page = client.getPage("https://api.privatbank.ua/p24api/exchange_rates?json&date=01.12.2014");
WebResponse response = page.getWebResponse();
Page page2 = client.getPage("https://api.privatbank.ua/p24api/exchange_rates?json&date=02.12.2014");
WebResponse response2 = page2.getWebResponse();
System.out.println(response.getContentAsString());
System.out.println(response2.getContentAsString());
Пример кода на rest-assured на два запроса:
String sURL ="https://api.privatbank.ua/p24api/exchange_rates?json";
Map<String, String> queryParms= new HashMap<>();
queryParms.put("date", String.valueOf("01.12.2014"));
Response response = RestAssured.expect().statusCode(200).given()
.queryParameters(queryParms)
.log().all()
.when()
.get(sURL)
.then().assertThat()
.log().all()
.extract().response();
System.out.println(response.getBody().asString());
String sURL ="https://api.privatbank.ua/p24api/exchange_rates?json";
queryParms.put("date", String.valueOf("02.12.2014"));
Response response = RestAssured.expect().statusCode(200).given()
.queryParameters(queryParms)
.log().all()
.when()
.get(sURL)
.then().assertThat()
.log().all()
.extract().response();
System.out.println(response.getBody().asString());
С другой стороны, если я делаю запрос через браузер на те же адреса, к примеру через Chrome, то запрос происходит мгновенно.
Как на Java делать такие же быстрые запросы?
Как минимум, можно распараллелить отправку запросов, используя асинхронный AsyncHttpClient
.
Про саму настройку пула подключений читать тут.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть змейка, написанная на языке Processing (по факту, это огромная библиотека для Java)Есть алгоритм, который будет играть в змейку, но написанный...
Если экземпляр BasicDataSource из Apache commons-dbcp (версии 14, т
На данный вопрос уже ответили: