2012-07-28 8 views
0

Im utilisant php, en utilisant curl Im accéder à un répertoire sur un serveur via http en utilisant httpauth. Je lui passe un nom d'utilisateur et mot de passe et il semble fonctionner, mais une fois que je me connecte, comment puis-je obtenir le répertoire en cours, puis procéder au téléchargement des fichiers dans ce répertoire? Im en utilisant ce code curl pour authentifier:PHP - Comment se connecter via curl et télécharger des fichiers?

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
$output = curl_exec($ch); 
$info = curl_getinfo($ch); 
curl_close($ch); 

Répondre

2

Il suffit de renvoyer les informations d'identification pour toutes les demandes futures. L'authentification HTTP ne tient pas compte des connexions; le client doit simplement renvoyer la paire nom d'utilisateur/mot de passe pour chaque requête.

+0

Le problème est que je ne sais pas quoi dans le répertoire, je sais juste que j'ai besoin de télécharger tous les fichiers dans ce répertoire. Aucune suggestion? – John

+0

Vous pouvez d'abord récupérer l'index du répertoire pour obtenir la liste des fichiers, puis obtenir les fichiers individuellement en parcourant cette liste. L'analyse de la liste des fichiers à partir du HTML est complètement différente. – Fraxtil

+0

Voulez-vous télécharger la page d'abord puis l'analyser pour les liens html et ensuite faire une boucle sur chaque lien trouvé? – John

Questions connexes