java.lang.ClassCastException:libcore.net.http.HttpURLConnectionImpl无法强制转换为javax.net.ssl.HttpsURLConnection

Ted*_*ddy 17 java https android http urlconnection

我正在编写一些代码,通过HTTPS将文件从设备上传到云端.

相关片段:

HttpsURLConnection conn = null; 
URL url = new URL(urlstring);
conn = (HttpsURLConnection) url.openConnection(); // exception here.
Run Code Online (Sandbox Code Playgroud)

但演员阵容不会编译:

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

我发现了类似的问题:使用java类HttpsURLConnection,但我没有从sun包导入任何东西.

我的进口:

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;
Run Code Online (Sandbox Code Playgroud)

有一段时间我一直在讨论这个问题吗?

ckl*_*lab 72

urlString必须从而开始,https://而不是http://你能够把它投射到HttpsURLConnection.

  • 作为注释,如果你的urlString以http://开头,为HttpURLConnection更改HttpsURLConnection解决了错误:) (3认同)