Java/Android 獲取網(wǎng)絡(luò)重定向文件的真實URL的示例代碼
前言:
今天在測試使用第三方提供的URL進行文件下載的時候,得到了一個被重定向的url。很不幸的是這個URL對于我來說沒辦法進行文件下載。這時候就需要獲得重定向文件的真實URL。
問題分析 :
其實Java 使用HttpURLConnection下載的的時候,會自動下載重定向后的文件,但是我們無法獲知目標文件的真實文件名,文件類型,用下面的方法可以得到真實的URL
解決方案 :
需要注意的是在Android 4.0之后網(wǎng)絡(luò)請求不能在主線程執(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)絡(luò)權(quán)限
<uses-permission android:name="android.permission.INTERNET"/>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java 實戰(zhàn)項目之倉庫管理系統(tǒng)的實現(xiàn)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實現(xiàn)一個倉庫管理系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11java使用mybatis調(diào)用存儲過程返回一個游標結(jié)果集方式
這篇文章主要介紹了java使用mybatis調(diào)用存儲過程返回一個游標結(jié)果集方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01mybatis的動態(tài)sql之if test的使用說明
這篇文章主要介紹了mybatis的動態(tài)sql之if test的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02Java異常處理操作 Throwable、Exception、Error
這篇文章主要介紹了Java異常處理操作 Throwable、Exception、Error,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06