Client HTTP Apache 4.3 informations d'identification par requête

J'ai eu un coup d'oeil à une authentification digest exemple:

http://hc.apache.org/httpcomponents-client-4.3.x/examples.html

Dans mon scénario, il y a plusieurs threads émettre des requêtes HTTP, et chacun d'eux doit être authentifié avec leur propre ensemble d'informations d'identification. En outre, veuillez considérer cette question est sans doute très spécifiques pour le client HTTP Apache 4.3 partir, 4.2 gère l'authentification probablement d'une manière différente, bien que je n'ai pas vérifier moi-même. Cela dit, il y va de la question.

Je veux juste utiliser une instance de client (membre statique de la classe, qui est thread-safe) et lui donner un gestionnaire de connexion à l'appui de plusieurs demandes simultanées. Le point est que chaque demande de fournir des informations d'identification différentes et je ne vois pas le moyen d'attribuer les informations d'identification, conformément à la demande que les informations d'identification fournisseur est défini lors de la construction de la client http. À partir du lien ci-dessus:

[...]

    HttpHost targetHost = new HttpHost("localhost", 80, "http");
    CredentialsProvider credsProvider = new BasicCredentialsProvider();
    credsProvider.setCredentials(
            new AuthScope(targetHost.getHostName(), targetHost.getPort()),
            new UsernamePasswordCredentials("username", "password"));
    CloseableHttpClient httpclient = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

[...]

Vérification:

http://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.html#d5e600

L'exemple de code au point 4.4 (chercher 4.4. L'authentification HTTP et le contexte d'exécution), semble dire que la HttpClientContext est donné la auth-cache et les données d'identification du fournisseur et est ensuite passé à la requête HTTP. À côté de la requête est exécutée et il semble que le client devra obtenir les informations d'identification de filtrage par l'hôte dans la requête HTTP. En d'autres termes: si le contexte (ou le cache) dispose d'informations d'identification valides pour les cibles de l'hôte actuel de la requête HTTP, il va les utiliser. Le problème pour moi est que les différents threads d'effectuer différentes demandes pour le même hôte.

Est-il de toute façon à fournir des informations d'identification par requête HTTP?

Merci d'avance pour votre temps! 🙂

source d'informationauteur Francisco Carriedo Scher