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をサーバーに送信するだけです。デフォルトでは、ほとんどの HTTP サーバーはシステムのファイルとディレクトリを使用しますが、構成することができます (URL 書き換えなど)。

于 2012-05-27T09:51:18.923 に答える