2016-11-30 4 views
0

Я слышал, что сообщение является наиболее предпочтительным при достижении ссылки, содержащей пароль/конфиденциальную информацию.Как получить лучше, чем сообщение в базовой аутентификации 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?

ответ

0

Я думаю, кто бы ни сказал, что лучше, чем получить при использовании паролей, означает, что пароли будут частью URL-адреса в запросе get, что, очевидно, было бы плохо.

 Смежные вопросы

  • Нет связанных вопросов^_^