Hi,
You need to set username and password in your http request. You can modify
following code to do so

DefaultHttpClient httpclient = new DefaultHttpClient()HttpGet httpget
= new HttpGet(url)
httpget.setHeader("Content-Type",
"application/json")httpget.setHeader("Accept",
"application/json")httpget.addHeader(BasicScheme.authenticate(  new
UsernamePasswordCredentials(RANGER_USERNAME,
RANGER_PASSWORD),                       "UTF-8", false))val response =
httpclient.execute(httpget)


On Mon, Jun 20, 2016 at 1:30 PM, haihui xu <suzhou...@gmail.com> wrote:

>     Hi, Ranger team!  I  recently study on ranger, and call ranger rest api
>  by httpclient, but it failed!
>     The following is mycode:
>
> public static void testGetRequest(String url) throws
> IllegalStateException, IOException {
> HttpClient client = new HttpClient();
> StringBuilder sb = new StringBuilder();
> InputStream ins = null;
> GetMethod method = new GetMethod(url);
> method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new
> DefaultHttpMethodRetryHandler(3, false));
> int statusCode = client.executeMethod(method);
> System.out.println("statusCode: " + statusCode);
> if (statusCode == HttpStatus.SC_OK) {
> ins = method.getResponseBodyAsStream();
> byte[] b = new byte[1024];
> int r_len = 0;
> while ((r_len = ins.read(b)) > 0) {
> sb.append(new String(b, 0, r_len, method.getResponseCharSet()));
> }
> }
> method.releaseConnection();
> if (ins != null) {
> ins.close();
> }
> }
>
>       public static void main(String[] args) throws Exception {
> String url = "http://10.133.47.146:6080/service/public/v2/api/policy/1";;
> testGetRequest(url);
> }
>
> Run the above program, the statusCode is 401!  Unauthorized !
> Could I add  any parameter when I call the rest api? How to resolve the
> problem? I hope you can describe how to call ranger rest api  on
> https://cwiki.apache.org/confluence/display/RANGER/Index .
>
> Thank you very much! Good Luck!
>
> Haihui Xu.
>



-- 
Regards: HAFIZ MUJADID

Reply via email to