You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.2 KiB
3.2 KiB
Обертки - хелперы
Данный набор классов поможет быстро накатать ваш код на Java, но это больше готовилось для одноразовых скриптов в домашней эксплуатации.
Автор: Павел Беляев
RestHelper
Данный класс работает на основе ApacheHttpClient и позволяет прокидывать запросы с авторизацией по ключу. Поддерживается как односторонняя авторизация (только клиентский ключ), так и двусторонняя (проверяем еще и сервер через трастовые хранилища).
Хранилища сертификатов поддерживаются двух типов - JKS и PKCS12.
Пример использования RestHelper
import org.apache.http.HttpResponse;
import org.pavlik.helpers.RestHelper;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
//инициализация экземпляра
RestHelper Rest = new RestHelper(
"client-keystore3.jks", //путь до клиентского хранилища
"JKS", //тип клиентского хранилища
"123321", //пароль к клиентскому хранилищу
"2", //alias клиентского сертификата
"truststore.jks", //путь до трастового хранилища
"JKS", //его тип
"123321" //пароль
);
//адрес
String queryUrl = "https://192.168.200.10/index.php?kokoko=1";
//тело запроса
String queryBody = "{\"k\":\"val\"}";
//заголовки запроса
HashMap<String,String> queryHeaders = new HashMap<>();
queryHeaders.put("CONTENT-TYPE","text/plain2; charset=UTF-8");
//выполнение запроса и получение ответа
HttpResponse resp = Rest.queryPostRaw(queryUrl,queryBody,queryHeaders);
String respBody = Rest.getRespBody(resp);
System.out.println(respBody);
}
}
Если нужна только односторонняя аутентифификация, то весь блок с трастовыми можно упустить
RestHelper Rest = new RestHelper(
"client-keystore3.jks", //путь до клиентского хранилища
"JKS", //тип клиентского хранилища
"123321", //пароль к клиентскому хранилищу
"2" //alias клиентского сертификата
);
Если в качестве алиаса в клиентском сертификате передать null, то будет выбран первый попавшийся.
Вариант p12
RestHelper Rest = new RestHelper(
"client1.p12",
"PKCS12",
"123321",
null
);
to be continue