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.
Malheureusement, depuis 1 semaine (j'ai pas touché mon code) ca ne fonctionne plus.
La fonction récupere
Alors que ca fonctionnait tres bien avant.Forbidden
You don't have permission to access /xml on this server.
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 !!!
Voila mon test :
Alors au'en copiant directement l'url ca fonctionne tres bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 j'ai regardé les header :
ce qui me donne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"; ?>
Donc le script se connect, mais la connexion est refusée ...* 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
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 ...
Partager