2012-06-20 31 views
14

पर नहीं डाला जा सकता है, मैं डिवाइस से फ़ाइल को HTTPS पर क्लाउड में अपलोड करने के लिए थोड़ा कोड लिख रहा हूं।java.lang.ClassCastException: libcore.net.http.HttpURLConnectionImpl को javax.net.ssl.HttpsURLConnection

प्रासंगिक टुकड़ा:

HttpsURLConnection conn = null; 
URL url = new URL(urlstring); 
conn = (HttpsURLConnection) url.openConnection(); // exception here. 

लेकिन कलाकारों संकलन नहीं होगा:

06-20 15:58:05.311: E/FNF(30286): java.lang.ClassCastException: libcore.net.http.HttpURLConnectionImpl cannot be cast to javax.net.ssl.HttpsURLConnection 

मैं इस समान प्रश्न पाया: Using java class HttpsURLConnection, लेकिन मैं सूरज पैकेज से कुछ भी आयात नहीं कर रहा हूँ।

मेरे आयात:

import java.io.DataOutputStream; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import java.net.URL; 
import android.net.Uri; 
import javax.net.ssl.HttpsURLConnection; 
import android.util.Log; 
import edu.mit.media.funf.storage.RemoteFileArchive; 
import edu.mit.media.funf.util.LogUtil; 

मैं अपने सिर थोड़ी देर के लिए यह एक के बारे में अब किसी भी सुझाव खरोंच किया गया है,?

+0

यह एक 'HttpURLConnection' है, आप इसे' HttpsURLConnection' पर नहीं डाल सकते हैं। यह आपके द्वारा लिंक किए गए प्रश्न जैसा ही है। आप एक और गलत वर्ग –

उत्तर

63

आपका urlStringhttps:// और नहीं http:// के साथ शुरू आप एक HttpsURLConnection करने के लिए इसे कास्ट करने के लिए सक्षम होने के लिए के लिए आवश्यक है।

+1

का उपयोग टिप्पणी के रूप में करते हैं, यदि आपका यूआरएलस्ट्रिंग http: // से शुरू होता है, तो HttpURLConnection के लिए HttpsURLConnection को बदलने से त्रुटि हल हो जाती है :) –

+0

@ मतिसअलोरीयागा- आपकी टिप्पणी उत्तर से अधिक उपयोगी है ... धन्यवाद। – offset

+0

मैंने असुरक्षित यूआरएल के लिए java.net.HttpURLConnection का उपयोग किया है लेकिन Google play store पर प्रकाशित एप्लिकेशन के दौरान HttpURLConnection कार्यान्वयन स्वीकार नहीं करेगा। Play store द्वारा अलर्ट संदेश - "आपका ऐप होस्टनाम वेरिफायर इंटरफ़ेस का असुरक्षित कार्यान्वयन का उपयोग कर रहा है।" कृपया कोई समाधान प्रदान करें? –

0

url.openConnection(); प्रकार libcore.net.http.HttpURLConnectionImpl की एक वस्तु लौट जब आप प्रकार import javax.net.ssl.HttpsURLConnection; के होने के रूप में अपने "क्ोन" वस्तु घोषणा की है लगता है। आपको अपने आयात और प्रयुक्त वस्तुओं को हल करने की आवश्यकता है। हो सकता है कि आप उस ट्यूटोरियल में कुछ चूक गए जो आप अनुसरण कर रहे थे।

0

सरल निकालें urlConnection.setDoOutput(true);

यह ठीक काम करेंगे।