2017-02-22 2 views
-1

J'utilise normalement cUrl pour atteindre mon point de terminaison à la minute. Mais je ne suis pas au stade où je dois penser à construire le client.cUrl to apache HttpClient

Je normalement frappé mon point final de la manière suivante:

curl -u "adminaccount:adminpassword" http://localhost:8080/api/private/v1/endpoint/ 

Disons que je le code ci-dessous

HttpGet getRequest = new HttpGet(
     "http://localhost:8080/api/private/v1/endpoint/"); 

HttpResponse response = httpClient.execute(getRequest); 

Maintenant, je dois évidemment passer l'équivalent de ce qui suit:

-u" adminaccount:adminpassword" 

en quelque sorte. Des idées?

+1

Si vous comptez faire une rétrogradation, au moins laisser un commentaire. – Edward

+0

Jetez un oeil à la documentation HttpClient: https://hc.apache.org/httpcomponents-client-ga/examples.html – Jyr

+0

Que diriez-vous de google ce que l'en-tête HTTP Authorization est et comment le définir dans HttpGet? - indice: dans votre cas, il s'agit de schéma d'authentification BASIC ... – Vadim

Répondre

0

Lorsque vous créez votre HttpClient:

CredentialsProvider credsProvider = new BasicCredentialsProvider(); 
     credsProvider.setCredentials(
       new AuthScope("localhost", 8080), 
       new UsernamePasswordCredentials("adminaccount", "adminpassword")); 
     CloseableHttpClient httpclient = HttpClients.custom() 
       .setDefaultCredentialsProvider(credsProvider) 
       .build(); 

Mais oui au lieu d'obtenir en colère d'être dit de google, allez google. Commencez par googler pour "exemple d'authentification HttpClient" par exemple. Les règles du site sont assez claires - "Faites vos devoirs d'abord"

+0

J'ai fait google cela en fait, mais ce n'est pas la même chose que curl -u, car curl -u fonctionne, et cette méthode renvoie une réponse http de 406. – MickeyThreeSheds