安卓在Java中获取友好url后面的文件名
我如何知道url后面的文件名(不解析url及其“/”)。例如:
如果您使用浏览器访问此url:
http://www.ubuntu.com/start-download?distro=desktop&bits=32&release=lts
它解析为一个“ubuntu-12.04-desktop-i386.iso”。如何在java中检索此文件名以下载具有原始名称的文件
谢谢
你可以在下面搜索框中键入要查询的问题!
我如何知道url后面的文件名(不解析url及其“/”)。例如:
如果您使用浏览器访问此url:
http://www.ubuntu.com/start-download?distro=desktop&bits=32&release=lts
它解析为一个“ubuntu-12.04-desktop-i386.iso”。如何在java中检索此文件名以下载具有原始名称的文件
谢谢
# 1 楼答案
您可以使用
HEAD
请求动词来尝试发现数据;对于这个特定的文件(并使用优秀的基于Perl的HTTP工具LWP系列),您可以找到如下文件名:302
头显示对象已移动,流提供了一个新的URL进行检索。大多数工具都会透明地处理这个重定向,如果你是手写HTTP,那么你也必须处理这个重定向。在这种情况下,幸运的是,提供的名称可能不是文件名,因为数据不需要来自文件。但是,如果工具的上下文相对受限,这可能不是问题# 2 楼答案
效率更高的方法是:
您只需连接到URL,然后通过执行以下操作检索重定向到的URL: