服务器之家

服务器之家 > 正文

Java/Android 获取网络重定向文件的真实URL的示例代码

时间:2021-02-07 17:10     来源/作者:Donkor-

前言:

今天在测试使用第三方提供的URL进行文件下载的时候,得到了一个被重定向的url。很不幸的是这个URL对于我来说没办法进行文件下载。这时候就需要获得重定向文件的真实URL。

问题分析 :

其实Java 使用HttpURLConnection下载的的时候,会自动下载重定向后的文件,但是我们无法获知目标文件的真实文件名,文件类型,用下面的方法可以得到真实的URL

解决方案 :

需要注意的是在Android 4.0之后网络请求不能在主线程执行

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
new Thread(new Runnable() {
      @Override
      public void run() {
        String str = "http://118.31.73.173:8080/magnet/play.m3u8?code=4459d2600da1379a9b06967edf518c05f0c9b43177cf28d9a70070264c228693e3888b2ab265521e01e6034c807bebdf02da4ebbf208065fd4b2d0062a3e3d83abe2c0659500dc168a9c0ba6a9098320ee4040ce57e7c57d9e1ec3f03900f631c84df0e6f38669d73ad6102fd0169b2907c3707cc2b71f5de6d789";
        URL url = null;
        try {
          url = new URL(str);
          HttpURLConnection conn = (HttpURLConnection) url.openConnection();
          conn.getResponseCode();
          final String realUrl = conn.getURL().toString();
          conn.disconnect();
          Log.e("asd", "真实URL:" + realUrl);           
        } catch (MalformedURLException e) {
          e.printStackTrace();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }).start();

最后不要忘了添加网络权限

?
1
<uses-permission android:name="android.permission.INTERNET"/>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://blog.csdn.net/donkor_/article/details/78585351

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部