Bonjour à tous !
Pour me connecter à une page WebDav, j'ai utilisé cURL.
Je voulais ensuite récupérer la source xml, mais il s'avère que c'est du html.
Alors je me suis rappatrié sur simple_html_dom pour pouvoir ensuite modifier les liens qui sont de cette forme:
<li><a href="fichier/"> nom du fichier/</a></li>
afin que ceux -ci ressemblent au final à
<li><a href="http/site/dossier/fichier">fichier</a></li>
Seulement, je ne parviens pas utiliser Simple_Html_Dom avec cURL.
Voici ce que j'ai fait:
<?php
$url = 'http://ADRESSE/Medias/Musique';
$timeout = 10;
$http_auth_ident = 'login:mot de passe'; // username:password
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
if (preg_match('`^http://`i', $url))
{
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
}
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Retourner le contenu téléchargé dans une chaine (au lieu de l'afficher directement)
// Définition de la méthode d'authentification du serveur
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
// Définition des identifiants
curl_setopt($ch, CURLOPT_USERPWD, $http_auth_ident);
$serveur_musique = curl_exec($ch); // Le contenu téléchargé est enregistré dans la variable $serveur_content.
curl_close($ch);
echo $serveur_musique;
// debut parsing html
require_once CORE.DS.'simple_html_dom.php';
$html = new simple_html_dom();
$html->load_file($serveur_musique);
foreach ($html->find('a') as $href){
echo $href->src.'<br/>';
}
Quand il suffit de se connecter, ça fonctionne bien et je récupère l'"image"de mon serveur,
mais je ne parviens pas à "coupler" la suite pour parser.
Il y aurait-il une bonne âme pour m'aiguiller ?
J'ai toujours des erreur telle que celle-ci:
( ! ) Warning: file_get_contents(<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html> <head> <title>Index of /Medias/Musique</title> </head> <body> <h1>Index of /Medias/Musique</h1> <ul><li><a href="/Medias/"> Parent Directory</a></li> <li><a href="ACDC/"> ACDC/</a></li> <li><a href="Adele/"> Adele/</a></li> <li><a href="Alain%20Bashung/"> Alain Bashung/</a></li> <li><a href="Alanis%20Morissette/"> Alanis Morissette/</a></li> <li><a href="Alexandre%20Varlet/"> Alexandre Varlet/</a></li> <li><a href="Alexis%20HK/"> Alexis HK/</a></li> <li><a href="Amy%20MacDonald/"> Amy MacDonald/</a></li> <li><a href="Amy%20Winehouse/"> Amy Winehouse/</a></li& in E:\ site internet\Wamp\wamp\www\monsite \core\simple_html_dom.php on line 1081
Call Stack
# Time Memory Function Location
1 0.0012 138936 {main}( ) ..\index.php:0
2 0.0080 257632 Dispatcher->__construct( ) ..\index.php:11
3 0.0127 325216 Controller->render( ) ..\Dispatcher.php:26
4 0.0135 348736 require( 'E:\Creation site internet\Wamp\wamp\www\monsite\view\pages\video.php' ) ..\Controller.php:53
5 0.0453 651240 simple_html_dom->load_file( ) ..\video.php:42
6 0.0453 660784 call_user_func_array:{E:\monsite\core\simple_html_dom.php:1081} ( ) ..\simple_html_dom.php:1081
7 0.0453 661000 file_get_contents ( ) ..\simple_html_dom.php:1081
Merci de votre aide