14

I have the following CURL request Can anyone please confirm me what would be the subesquest HTTP Request

      curl -u "Login-dummy:password-dummy" -H "X-Requested-With: Curl" "https://qualysapi.qualys.eu/api/2.0/fo/report/?action=list" -k

Will it be something like ?

    String url = "https://qualysapi.qualys.eu/api/2.0/fo/report/";
    URL obj = new URL(url);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();

    // optional default is GET
    con.setRequestMethod("GET"); ..... //incomplete

Can anyone be kind enough to help me convert the above curl request completely to httpreq.

Thanks in advance.

Suvi

3 Answers 3

18

There are numerous ways to achieve this. Below one is simplest in my opinion, Agree it isn't very flexible but works.

import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

import org.apache.commons.codec.binary.Base64;

public class HttpClient {

    public static void main(String args[]) throws IOException {
        String stringUrl = "https://qualysapi.qualys.eu/api/2.0/fo/report/?action=list";
        URL url = new URL(stringUrl);
        URLConnection uc = url.openConnection();

        uc.setRequestProperty("X-Requested-With", "Curl");

        String userpass = "username" + ":" + "password";
        String basicAuth = "Basic " + new String(new Base64().encode(userpass.getBytes()));
        uc.setRequestProperty("Authorization", basicAuth);

        InputStreamReader inputStreamReader = new InputStreamReader(uc.getInputStream());
        // read this input

    }
}
Sign up to request clarification or add additional context in comments.

1 Comment

You can add maven dependency for org.apache.commons.codec.binary.Base64 from here : <!-- mvnrepository.com/artifact/commons-codec/commons-codec --> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency>
3

I'm not sure whether HttpURLConnection is your best friend here. I think Apache HttpClient is a better option here.

Just in case you must use HttpURLConnection, you can try this links:

You are setting username/password, a HTTP-Header option and ignore SSL certificate validation.

HTH

Comments

-1

Below worked for me:

Authenticator.setDefault(new MyAuthenticator("user@account","password"));

-------
public MyAuthenticator(String user, String passwd){
    username=user;
    password=passwd;
}

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.