如何获得比基本身份验证中的Post更好apache http客户端(Java编程)

时间:2016-11-30 19:35:21

标签: java authentication post get httpclient

我听说Post在获得密码/敏感信息的链接时最受欢迎。

问:我知道Post比名字 - 值对参数更好,因为Get在URL中公开它而Post则没有。但是,如果我们谈论身份验证,我使用什么方法,因为我将凭据设置为HttpClient而不是HttpGet或HttpPost.So凭证无论如何都不会暴露。使用名称 - 值对的封装受益于使用POST。

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);

post方法优先于get方法?

1 个答案:

答案 0 :(得分:0)

我认为谁说帖子比使用密码更好,这意味着密码将成为get请求中url的一部分,这显然是不好的。