2008-09-22 16 views
41

में समकक्ष समकक्ष है, मुझे ओपन सोर्स JAVA ऐप के लिए प्रमाणीकरण घटक लिखने का कार्य सौंपा गया है। हमारे पास एक घर में प्रमाणीकरण विजेट है जो https का उपयोग करता है। मेरे पास कुछ उदाहरण php कोड है जो widget तक पहुंचता है जो स्थानांतरण को संभालने के लिए cURL का उपयोग करता है।curl JAVA

मेरा प्रश्न यह है कि cURL से JAVA पर कोई पोर्ट नहीं है, या बेहतर अभी तक, कौन सा बेस पैकेज मुझे कार्य को संभालने के लिए पर्याप्त पास करेगा?

अद्यतन:

यह संक्षेप में है, कोड मैं जावा में दोहराने के लिए करना चाहते हैं:

$cp = curl_init(); 
$my_url = "https://" . AUTH_SERVER . "/auth/authenticate.asp?pt1=$uname&pt2=$pass&pt4=full"; 
curl_setopt($cp, CURLOPT_URL, $my_url); 
curl_setopt($cp, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($cp); 
curl_close($cp); 

Heath, मुझे लगता है कि आप सही रास्ते पर हैं, मैं मुझे लगता है कि मैं HttpsURLConnection का उपयोग करके समाप्त हो रहा हूं और फिर मुझे प्रतिक्रिया से क्या चाहिए।

उत्तर

60

अपवाद संचालन छोड़े गए:

HttpURLConnection con = (HttpURLConnection) new URL("https://www.example.com").openConnection(); 
con.setRequestMethod("POST"); 
con.getOutputStream().write("LOGIN".getBytes("UTF-8")); 
con.getInputStream(); 
+3

कैसे आप बुनियादी जोड़ना होगा इस के लिए प्रमाणीकरण? – BWelfel

+5

@BWelfel, con.setRequestProperty ("प्रमाणीकरण", "मूल dXNlcm5hbWU6cGFzc3dvcmQ ="); // उपयोगकर्ता नाम: पासवर्ड बेस 64 एन्कोडेड –

+0

किसने इसे वोट दिया, और क्यों? –

1

नेटवर्क प्रोटोकॉल के लिए Apache Commons Net आज़माएं। मुक्त!

+0

इस लाइब्रेरी में कोई HTTP क्लाइंट है, जो एक शर्म की बात है, क्योंकि अन्यथा अपाचे कॉमन्स बहुत अच्छा है (* अनुभव से बोल *): http://commons.apache.org/net/ – therobyouknow

1

यदि आप कॉमन्स नेट के माध्यम से प्रदान किए गए लोगों की तुलना में अधिक सुविधाएं चाहते हैं तो आप अपाचे प्रोजेक्ट से [http://hc.apache.org/](HTTP घटक) भी आजमा सकते हैं।

23

मैं Commons Http Client का उपयोग करेंगे। परियोजना में एक contrib वर्ग है जो आपको एसएसएल का उपयोग करने की अनुमति देता है।

हम इसका उपयोग कर रहे हैं और यह अच्छी तरह से काम कर रहा है।

संपादित करें: यहाँ SSL Guide

+3

अपडेट: वह 'कॉमन्स एचटीपी क्लाइंट' प्रोजेक्ट अब जीवन के अंत में है, और इसे ['अपाचे एचटीपी कॉम्पोनेंट्स ™'] (http://hc.apache.org/) प्रोजेक्ट द्वारा सप्लाई किया गया है। –

4

jsoup

jsoup पुस्तकालय उसके HTML scraping और कर्तव्यों पार्स करने में पहला कदम के रूप में एक यूआरएल को हासिल करेगा है।

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();