Java 下载html文件而不是主文件
我正在使用android下载管理器下载mp3文件,以下是我的代码:Java 下载html文件而不是主文件,java,android,httpurlconnection,Java,Android,Httpurlconnection,我正在使用android下载管理器下载mp3文件,以下是我的代码: DownloadManager downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE); String link = "https://newtabs.stream/HvWBZB:2nr2rB"; Uri Download_Uri = Uri.parse(link); Dow
DownloadManager downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
String link = "https://newtabs.stream/HvWBZB:2nr2rB";
Uri Download_Uri = Uri.parse(link);
DownloadManager.Request request = new DownloadManager.Request(Download_Uri);
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
request.setAllowedOverRoaming(false);
request.addRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36");
request.setTitle("GadgetSaint Downloading " + "Sample" + ".png");
request.setDescription("Downloading " + "Sample" + ".png");
request.setVisibleInDownloadsUi(true);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "/Songs/genesis" + ".mp3");
long refid = downloadManager.enqueue(request);
mp3文件的下载链接:
但问题是下载的文件实际上是一个网站的html源(此网站->)
我在chrome中打开了下载链接,得到了以下日志:
然后我重定向到主页()
我也尝试了IDM(互联网下载管理器),同样的事情也发生了(主页html文件)
但是,如果你使用该网站搜索歌曲,一切正常,之后如果你在IDM中打开下载链接,它将识别mp3文件
(从以下网站下载:
1-开放
2-搜索“genesis dua lipa”
3-单击第一个结果中的下载按钮
4-然后您将被重定向到safeURl.net,然后单击“输入”按钮
5-下载开始。
)
当我使用网站下载相同的mp3文件时,我得到了以下日志:
我该怎么做才能让它工作
(我用来获取这些日志的程序是“Live HTTP Headers”。它是google chrome的扩展。它非常有用:)
该URL实际上是通过另一个服务重定向的URL。因此,每次尝试获取此页面时,它只会获取html页面。要获取原始MP3,您需要获取站点重定向到的链接。它应该以一个
.mp3
扩展名结束。我曾经从这个网站下载了2个月的这些链接,一切都很好,我相信链接没有问题,可能需要cookie或授权…这是可能的。但据我所知,它在重定向页面上有广告。这意味着get请求可能会获取广告页面的html。