[cURL] Récupérer source page web Forbidden
Bonjour, que je vous explique un peu.
J'ai joué un peu avec la librairie cURL il y a peu, et ca fonctionnait tout tres bien. :P
Malheureusement, depuis 1 semaine (j'ai pas touché mon code) ca ne fonctionne plus.
La fonction récupere
Citation:
Forbidden
You don't have permission to access /xml on this server.
Alors que ca fonctionnait tres bien avant.
J'ai fait quelques recherche, et j'en ai déduis que le server avait réussit a bloquer ce genre de script.
Or il est basé sur le meme principe qu'un autre, qui lui fonctionne toujours !!! 8O
Voila mon test :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?php
$fp = fopen("data.html", "w");
$ch = curl_init("http://toto.myminicity.com/xml");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
//curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0"); // does not work better ...
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?> |
Alors au'en copiant directement l'url ca fonctionne tres bien.
Alors j'ai regardé les header :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <?php
$fp = fopen("data.html", "w");
$ch = curl_init("http://toto.myminicity.com/xml");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_STDERR, $fp);
curl_exec($ch);
curl_close($ch);
fclose($fp);
echo "OK";
?> |
ce qui me donne
Citation:
* About to connect() to toto.myminicity.com port 80 (#0) * Trying 87.98.205.19... * connected * Connected to toto.myminicity.com (87.98.205.19) port 80 (#0) > GET /xml HTTP/1.1 Host: toto.myminicity.com Accept: */* * The requested URL returned error: 403 * Closing connection #0
Donc le script se connect, mais la connexion est refusée ...
J'en viens a vous parce que je ne m'en sort pas.
Ca ne devrait pas venir de mon hebergeur (free) et je ne vois pas pourquoi l'autre script fonctionne (voir : http://urosevic.net/get.php?id=dvl03)
Merci pour toutes idées :?
(heuuu "toto" c'est un exemple, ca doit exister mais je n'en ai aucun rapport :p)
Bon, en relisant mon message je trouve un peu maladroits le fait d'enregistrer le rapport dans un fichier et d'aller le lire de suite, au lieu de directement afficher le resultat. Mais j'avais fais ce petit test en pensant le probleme résolut dans l'heure ... :evilred: