21

First of all , i've already seen couple of documents, stackoverflow questions regarding the same ..I've my project specific question When trying to run command :

   curl -u username:password https://example.com/xyz/abc 

from the mac terminal , I get my desired json format data. But running the same command from java code , I get Unauthorised 401 error in console. My code is :

    String username="myusername";
    String password="mypassword";
    String url="https://www.example.com/xyz/abc";
       String[] command = {"curl", "-u" ,"Accept:application/json", username, ":" , password , url};
        ProcessBuilder process = new ProcessBuilder(command); 
        Process p;
        try
        {
            p = process.start();
             BufferedReader reader =  new BufferedReader(new InputStreamReader(p.getInputStream()));
                StringBuilder builder = new StringBuilder();
                String line = null;
                while ( (line = reader.readLine()) != null) {
                        builder.append(line);
                        builder.append(System.getProperty("line.separator"));
                }
                String result = builder.toString();
                System.out.print(result);

        }
        catch (IOException e)
        {   System.out.print("error");
            e.printStackTrace();
        }

I get Unauthorised 401 error and bunch of html tags . It seems like a repetitive question, but I've tried all the approaches. I know alternative is using http response method, but particularly I want to use curl commands. Thanks in advance.

2 Answers 2

16

Try changing this line

String[] command = {"curl", "-u" ,"Accept:application/json", username, ":" , password , url};

into

String[] command = {"curl", "-H", "Accept:application/json", "-u", username+":"+password , url};
Sign up to request clarification or add additional context in comments.

1 Comment

no problem, my first version lacked -H flag, making the query's syntax invalid
1

hey try this I had the same problem. It worked in my terminal had the same error as yours.

String[] command = {"curl", "-u" , username+ ":" + password , url};

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.