Я слышал, что сообщение является наиболее предпочтительным при достижении ссылки, содержащей пароль/конфиденциальную информацию.Как получить лучше, чем сообщение в базовой аутентификации apache http client (программирование на Java)
Q1.I знаю, что сообщение лучше, чем Put для параметров пары имя-значение, поскольку Get предоставляет его в URL, а Post - нет. Но если мы говорим об аутентификации, как важно, какой метод я использую, поскольку я устанавливаю учетные данные для HttpClient, а не для учетных данных HttpGet или HttpPost.So, все равно не подвергаются показу. Инкапсуляция пар Name-value выигрывает, используя ПОСЛЕ.
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(
new AuthScope(target.getHostName(), target.getPort()),
new UsernamePasswordCredentials("user", "passwd"));
CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultCredentialsProvider(credsProvider)
.build();
Q2. Опять же я могу установить полномочия в качестве заголовка для HttpPost, а также для HttpGet как это ..
String encoding = new BASE64Encoder().encode("user:passwd".getBytes());
httpGet.setHeader("Authorization", "Basic " + encoding);
httpPost.setHeader("Authorization", "Basic " + encoding);
Где метод пост имеет преимущество перед методом GET?