Мой ответ не будет полным, но он слишком длинный для простого комментария.
Это большой вопрос и, как он сформулирован, возможно, слишком большой для вопроса переполнения стека. Вам нужно будет использовать реализацию HTTP. Есть из чего выбирать. Java поставляется с HttpUrlConnection, но мне лично это действительно не нравится. Вот статья об этом:
Выполнение простого HTTP-запроса в Java
Существует также множество вопросов о переполнении стека в разделе Как установить HTTP-соединение в Java. Я не собираюсь перечислять их. Вы можете сделать правильный поиск.
Я лично использовал Apache HTTPComponents. Главная страница:
Компоненты Apache HTTP
Это займет у вас некоторое время. Когда вы застряли, вы можете задать более острые вопросы.