Leggere un elenco di cartelle dal Web

Come da titolo, vorrei sapere se è possibile con i metodi tradizionali, poter leggere l'elenco delle cartelle di un dominio Web qualsiasi. Così come fanno  crawler che gironzolano per la rete.

La domanda la pongo perché mi è venuto in mente di costruire un crawler in PHP, ma non so se funzionerebbe e prima di partire con le sperimentazioni, volevo capire se ne valeva la pena.

inviato 9 anni fa
Marco Grazia
X 0 X

forse mi rispondo da solo, ovvero : http://it.php.net/manual/it/function.scandir.php

In particolare dove dice che:

Suggerimento: È possibile utilizzare una URL come un nome di file con questa funzione se fopen_wrappers è stata abilitata. Per maggiori informazioni su come specificare i nomi di file vedere fopen() e Appendice M per avere la lista dei protocolli URL supportati.

quindi: "$dir = scandir('http://www.miosito.tld/').

risposto 9 anni fa
Marco Grazia
X 0 X

Supponendo che la comunicazione avvenga attraverso il protocollo HTTP, non credo ci sia un metodo nativo per scoprire i file e le cartelle presenti in un dato URL.

E' anche vero che diversi server web (opportunamente settati) mostrato il contenuto di una cartella quando non viene specificato un particolare file da aprire ma (se non sbaglio) l'indice che viene mostrato è una normale pagina creata "al volo".

Se sapete qualcos'altro illuminatemi.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

E' anche vero che diversi server web (opportunamente settati) mostrato il contenuto di una cartella quando non viene specificato un particolare file da aprire ma (se non sbaglio) l'indice che viene mostrato è una normale pagina creata "al volo".

Se sapete qualcos'altro illuminatemi.

 :bye:

Questo avviene solo in 2 condizioni:

1 - non è presente nessuna pagina index.html (o altra indicata nella configurazione del server tipo default.asp o index.php, ricordi che l'ho fatto aggiungere all'articolo? : )

2 - la configurazione del webserver permette di fare il browsing della cartella

Se non si verificano queste 2 condizioni ci si ritrova un errore, di cui non ricordo il numero, che dice + o -:

You don't have permission to access di folder

risposto 9 anni fa
LonelyWolf
X 0 X

L'errore è il 303, ma ovviamente in questo caso non è un mio problema (se il server non è mio chiaramente).

La funzione funziona :D e lo fa egregiamente, anche se per ora ho usato readdir in luogo di scandir.

Quello che sto costruendo è un generatore/analizzatore di file robots.txt e quindi avevo bisogno che leggesse l'elenco delle cartelle in remoto, se questo non è possibile pazienza perché non posso certo dire al sysop di permettere la lettura di una cartella hidden.

Tieni comunque presente che di solito la root del sito non è mai a 303 (hidden) se no nessuno potrebbe leggerla.

risposto 9 anni fa
Marco Grazia
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda