2013-09-05 10 views
7

मैं कर्ल अनुरोध किसी को भी मुझे इस बात की पुष्टि कृपया क्या subesquest HTTP अनुरोधHTTP अनुरोध करने के लिए कर्ल अनुरोध परिवर्तित जावा

 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

आप यहाँ से org.apache.commons.codec.binary.Base64 के लिए Maven निर्भरता जोड़ सकते हैं: <- https: // mvnrepository .com/विरूपण साक्ष्य/कॉमन्स-कोडेक/कॉमन्स-कोडेक -> कॉमन्स-कोडेक कॉमन्स-कोडेक 1,9 kishorer747

2

मुझे यकीन है कि HttpURLConnection अपने सबसे अच्छे दोस्त यहाँ है कि क्या नहीं कर रहा हूँ। मुझे लगता है कि Apache HttpClient यहां एक बेहतर विकल्प है। आप उपयोगकर्ता नाम/पासवर्ड, एक HTTP-हैडर विकल्प सेट कर रहे हैं

और SSL प्रमाणपत्र सत्यापन उपेक्षा:

बस मामले में आप HttpURLConnection का उपयोग करना चाहिए, तो आप इस लिंक कोशिश कर सकते हैं।

HTH

-1

नीचे मेरे लिए काम किया:

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

------- 
public MyAuthenticator(String user, String passwd){ 
    username=user; 
    password=passwd; 
} 
संबंधित मुद्दे