0

你好呀。

我有一个 URL 列表。我不知道如何检查这个地址是文件还是目录。

例子:

url = "http://example.com/path/to/file.html"

if '.' in url.split('/')[-1]:
    return True

但如果 url 是

url = "http://example.com/path/domains/domain.com"

domain.com 是目录而不是文件。如何检测它?

检查文件扩展名不好,也许是一些标题?但我想尽可能少地使用互联网传输。

编辑:

我需要下载大量链接并将它们的路径映射到我的操作系统中的位置。例如 example.com/path/to/file.html

~/Downloads/example.com/path/to/

在这里下载file.html。例如:

example.com/directory/  
create ~/Downlods/example.com/directory/ 
next url: example.com/directory/dir2  
create ~/Downloads/example.com/directory/dir2  
next url: example.com/directory/file.html  
Download file.html in too ~/Downloads/example.com/directory/
not too create file.html directory
4

2 回答 2

3

简而言之,你不能。默认情况下,访问 URL http://example.com/path/domains/domain.com会向http://example.com/path/domains/domain.com/发送 302 重定向(如果我没记错的话) 。响应中没有标头指示 URL 是否指向目录。我可以问你为什么需要知道这个吗?我想您可以在 URL 中添加一个斜杠,然后看看会发生什么。这可能会让你得到你正在寻找的结果。

于 2012-05-27T08:04:03.223 回答
0

在 HTTP 服务器上,没有这样的“文件”或“目录”的东西。您只需向服务器发送一个 URI,该 URI 标识取决于服务器配置的特定资源。默认情况下,大多数 HTTP 服务器使用系统的文件和目录,但可以对其进行配置(URL 重写,...)。

于 2012-05-27T09:51:18.923 回答