溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java/Android 獲取網(wǎng)絡(luò)重定向文件的真實(shí)URL的示例代碼

發(fā)布時(shí)間:2020-08-30 11:08:37 來(lái)源:腳本之家 閱讀:282 作者:Donkor- 欄目:編程語(yǔ)言

前言:

今天在測(cè)試使用第三方提供的URL進(jìn)行文件下載的時(shí)候,得到了一個(gè)被重定向的url。很不幸的是這個(gè)URL對(duì)于我來(lái)說(shuō)沒(méi)辦法進(jìn)行文件下載。這時(shí)候就需要獲得重定向文件的真實(shí)URL。

問(wèn)題分析 :

其實(shí)Java 使用HttpURLConnection下載的的時(shí)候,會(huì)自動(dòng)下載重定向后的文件,但是我們無(wú)法獲知目標(biāo)文件的真實(shí)文件名,文件類型,用下面的方法可以得到真實(shí)的URL

解決方案 :

需要注意的是在Android 4.0之后網(wǎng)絡(luò)請(qǐ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", "真實(shí)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"/>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI