Java/Android 獲取網(wǎng)絡重定向文件的真實URL的示例代碼
前言:
今天在測試使用第三方提供的URL進行文件下載的時候,得到了一個被重定向的url。很不幸的是這個URL對于我來說沒辦法進行文件下載。這時候就需要獲得重定向文件的真實URL。
問題分析 :
其實Java 使用HttpURLConnection下載的的時候,會自動下載重定向后的文件,但是我們無法獲知目標文件的真實文件名,文件類型,用下面的方法可以得到真實的URL
解決方案 :
需要注意的是在Android 4.0之后網(wǎng)絡請求不能在主線程執(zhí)行
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();
最后不要忘了添加網(wǎng)絡權限
<uses-permission android:name="android.permission.INTERNET"/>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
SpringMvc返回modelandview返回的頁面無法跳轉問題及解決
這篇文章主要介紹了SpringMvc返回modelandview返回的頁面無法跳轉問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
@CacheEvict中的allEntries與beforeInvocation的區(qū)別說明
這篇文章主要介紹了@CacheEvict中的allEntries與beforeInvocation的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解示例詳解
這篇文章主要介紹了SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解,通過示例代碼介紹了實現(xiàn)一個自定義的?@Conditional?派生注解,Conditional?派生注解的類如何注入到?spring?容器,需要的朋友可以參考下2022-08-08
SpringBoot使用SOFA-Lookout監(jiān)控的方法
本文介紹SpringBoot使用螞蟻金服SOFA-Lookout配合Prometheus進行監(jiān)控,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03

