如何从在Android上重定向到HTTPS网址的HTTP网址下载文件?

时间:2015-11-21 11:05:58

标签: java android

我有一些网址,我需要从中下载文件。

在某些情况下,我获得了301重定向,在某些情况下,它会将我重定向到HTTPS网址 (例如,这是真正的http网址,重定向到https:http://bit.ly/1laNsED

我事先并不知道我会从这个网址获得什么 - 实际文件,301重定向或301重定向到HTTPS。

我如何在Android中正确处理这种情况?

更新:使用OkHttp解决了这个问题。

2 个答案:

答案 0 :(得分:0)

 private static String readUrl(String urlString) throws Exception {
        BufferedReader reader = null;
        try {
            URL url = new URL(urlString);
            reader = new BufferedReader(new InputStreamReader(url.openStream()));
            StringBuffer buffer = new StringBuffer();
            int read;
            char[] chars = new char[1024];
            while ((read = reader.read(chars)) != -1)
                buffer.append(chars, 0, read);

            return buffer.toString();
        } finally {
            if (reader != null)
                reader.close();
        }
    }

============================================== < / p>

JSONObject json = new JSONObject(readUrl("https://"+Globals._Gateway+"/Android/Service.svc/GetFile/"+Param));

答案 1 :(得分:0)

您应该使用HttpsURLConnection for https, 检查以下链接, app.config

http://developer.android.com/reference/javax/net/ssl/HttpsURLConnection.html