2013-09-05 8 views
7

У меня есть следующие CURL запроса Может кто-нибудь, пожалуйста, подтвердите мне, что было бы subesquest HTTP RequestПреобразование CURL запроса HTTP запрос Java

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

Будет ли что-то подобное?

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 

Может ли кто-нибудь быть любезным, чтобы помочь мне полностью преобразовать вышеуказанный запрос на завивки в httpreq.

Заранее спасибо.

Сувь

ответ

12

Есть много способов для достижения этой цели. Ниже, на мой взгляд, проще всего, согласитесь, что он не очень гибкий, но работает.

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 

    } 
} 
+0

Вы можете добавить Maven зависимость для org.apache.commons.codec.binary.Base64 здесь: <- HTTPS: // mvnrepository .com/артефакт/Обще-кодек/Обще-кодек -> Обще-кодек Обще-кодек 1,9 kishorer747

2

Я не уверен HttpURLConnection ли ваш лучший друг здесь. Я думаю, что Apache HttpClient - лучший вариант здесь.

Только в случае, если вы должны использовать HttpURLConnection, вы можете попробовать это ссылки:

Вы устанавливаете имя пользователя/пароль, параметр HTTP-заголовка и игнорировать проверку сертификата SSL.

НТН

-1

Ниже работал для меня:

Authenticator.setDefault(new MyAuthenticator("[email protected]","password")); 

------- 
public MyAuthenticator(String user, String passwd){ 
    username=user; 
    password=passwd; 
} 
Смежные вопросы