【发布时间】:2012-04-18 03:25:34
【问题描述】:
我正在尝试使用 java 中的脚本下载多个 mp3 文件。该脚本的目的是通过 4shared 获取直接的 mp3 链接。我得到的直接链接很好。问题是,我无法以编程方式下载 mp3 文件。示例链接是:
http://4shared.com/img/8dSuOD2s/dlink__2Fdownload_2F8dSuOD2s/preview.mp3
如果我尝试以编程方式保存此链接,链接将被重定向到 4shared html 页面,并且我会下载一个小 (100kb) html 页面。 但是,如果我创建一个指向该文件的 html 链接(即带有 href 的锚标记)并右键单击-> 将目标另存为,它将很好地保存 mp3...
谁能告诉我这里发生了什么?
编辑:在按照@Perception 的建议监控来自网站的流量后(使用 firefox 的 web-developer's 控制台)我得到了这个响应.. 我不明白
截图:http://i.imgur.com/EBwUc.png
有人吗?...
【问题讨论】:
-
我确信在客户端(浏览器,在你的情况下)被提供下载 mp3 的实际链接之前至少会有一个重定向。
-
如果在mp3之前有重定向,那么为什么保存目标会保存mp3,但通过浏览器访问它会得到一个html页面?难道不是必须相反(mp3 文件具有重定向)才能发生这种情况吗?
-
文件下载成功后,您是否尝试过监控浏览器和4shared之间的流量。我确信交互不仅仅是一个简单的 GET 请求。
-
@Perception 我不知道我会怎么做。有专门的软件吗?谢谢
-
比较简单的方法之一:使用Chrome,打开开发者工具(View->Developer->Developer Tools)。页面底部将打开一个新窗格。在地址栏中,输入其中一个 MP3 文件的 URL,然后按 Enter。向 4share 发出的请求将显示在底部窗格中。