2016-11-30 2 views
0

パスワード/機密情報を持つリンクに到達している間、投稿が最も優先されると聞いています。基本認証でPostよりもGetの方が良いです。apache http client(Javaプログラミング)

Q1.Postが名前と値のペアのパラメータとしてPutよりも優れていることがわかっている場合、GetはURLを公開し、Postは公開しません。しかし、私たちが認証について話しているなら、HttpGetやHttpPost.Soの資格情報ではなく、HttpClientへの資格証明を設定するときにどのような方法を使用すれば問題になるのでしょう。名前と値のペアのカプセル化は、役職。

CredentialsProvider credsProvider = new BasicCredentialsProvider(); 

credsProvider.setCredentials(
    new AuthScope(target.getHostName(), target.getPort()), 
    new UsernamePasswordCredentials("user", "passwd")); 
CloseableHttpClient httpClient = HttpClients.custom() 
    .setDefaultCredentialsProvider(credsProvider) 
    .build(); 

Q2。再び、私はこのようなHTTPGETに同様httppostするヘッダーとして認証情報を設定することができます。..

String encoding = new BASE64Encoder().encode("user:passwd".getBytes()); 
httpGet.setHeader("Authorization", "Basic " + encoding); 
httpPost.setHeader("Authorization", "Basic " + encoding); 

postメソッドは、getメソッドよりも優先されない場合は?

答えて

0

パスワードを使用するとパスワードが取得要求のURLの一部になることを意味していたと思う人は、明らかに悪いはずです。