Асинхронный HTTP-запрос в Java
Как отправить асинхронный HTTP-запрос GET/POST в Java без ожидания / чтения ответа? Я не хочу использовать сторонние библиотеки..
3 ответа
Если вы вообще не заинтересованы в чтении ответа, вы можете просто использовать URL.openStream() для создания соединения, а затем сразу же закрыть сокет (или проигнорировать его и дать ему время, если вы хотите быть злым для сервера). Это не является строго асинхронным, но это будет немного быстрее, чем любой подход, основанный на получении и анализе ответа сервера.
Конечно, это можно сделать асинхронным путем разгрузки openStream()
вызовы в другой поток, вручную или с помощью утилит, доступных в java.util.concurrent
,
java.util.concurrent может быть использован.
Если вы заинтересованы в использовании сторонних библиотек, вы можете взглянуть на
Я бы предложил использовать что-то вроде Jetty HttpClient, если вы не против добавить библиотеки Jetty в свое приложение. Вот хороший пример с вики-страницы Jetty http://wiki.eclipse.org/Jetty/Tutorial/HttpClient.