2017-02-22 17 views
-1

Обычно я использую cUrl, чтобы поразить конечную точку в минуту. Но я не на том этапе, где мне нужно подумать о создании клиента.cUrl to apache HttpClient

Я обычно ударил мой конечной точки следующим образом:

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

Допустим, у меня есть код ниже

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

HttpResponse response = httpClient.execute(getRequest); 

Теперь я, очевидно, нужно пройти в эквиваленте, что:

-u" adminaccount:adminpassword" 

как-то. Есть идеи?

+1

Если вы собираетесь спускать вниз, по крайней мере, оставляйте комментарий. – Edward

+0

Взгляните на документы HttpClient: https://hc.apache.org/httpcomponents-client-ga/examples.html – Jyr

+0

Как узнать, что такое HTTP-заголовок авторизации и как установить его в HttpGet? - подсказка: в вашем случае речь идет о схеме аутентификации BASIC ... – Vadim

ответ

0

При создании HttpClient:

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

Но да вместо того, чтобы в раздражении о том, велено Google, просто перейдите Google это. Начните с поиска в Google для примера проверки подлинности HttpClient. Правила сайта совершенно ясны - «Сделайте свою домашнюю работу в первую очередь»

+0

Я действительно сделал это на самом деле, но это не то же самое, что curl -u, потому что curl -u работает, и этот метод возвращает HTTP-ответ 406. – MickeyThreeSheds