Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2010, 15h39   #1
Invité de passage
 
Inscription : novembre 2010
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 9
Points : 2
Points : 2
Par défaut Echec récupération liens html. Squid erreur

Bonjour,

j'essaye d'utiliser un script hébergé chez Free mais une fonction ne semble pas fonctionner :
Code php :
file_get_contents()
Si j'affiche ce que retourne la fonction
Code php :
file_get_contents('http://www.developpez.net');

j'obtiens le message d'erreur :
Citation:
ERREUR
L'URL demandée n'a pu être chargée

En essayant de charger l'URL : http://www.developpez.net

L'erreur suivante a été rencontrée :

* Accès interdit.

La configuration du contrôle d'accès interdit à votre requête d'être acceptée à cette heure-ci. Veuillez contacter votre prestataire de service si vous pensez que ceci n'a pas lieu d'être.

Generated Tue, 07 Dec 2010 09:22:25 GMT by pageperso.priv.free.fr (squid/3.0.STABLE21)
Savez vous pourquoi et comment y remédier ?
Je crois qu'il faut orienter la recherche du côté de Squid, mais je n'y connais rien...

Merci
Vagabonerie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 15h42   #2
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Essaie avec un site n'est pas spécialisé dans le développement... Il me semble qu'on peut empêcher (grâce à je ne sais quelle configuration) de se faire "get_content" sur son site.

En gros, ce n'est pas forcément chez Free que ça merde mais le site distant qui bloque le
Code php :
 file_get_contents()

Cordialement, Guillaume.
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 15h49   #3
Invité de passage
 
Inscription : novembre 2010
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 9
Points : 2
Points : 2
Ah d'accord. Dans ce cas, il y a t-il un moyen de "parcourir" le site distant et de récupérer les liens html sans passer par le file_get_contents ?
Vagabonerie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 17h05   #4
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

ce lien pourrait peut être t'aider :

http://php.developpez.com/faq/index....l_lire_fichier
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 16h35   #5
Invité de passage
 
Inscription : novembre 2010
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 9
Points : 2
Points : 2
Je viens d'essayer la solution que tu proposes,

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
$url="http://www.test.com/test.html";
$ch = curl_init($url);
$fp = fopen("temp.html", "w");
 
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_NOBODY, FALSE); 
 
curl_exec($ch);
curl_close($ch);
fclose($fp);
 
//DOM treatment
$domDocument = new DOMDocument();
if($domDocument->loadHTMLFile("temp.html"))
{
	$itemnodes = $domDocument->getElementsByTagName("a");
	echo("itemnodes = $itemnodes->item(0)");
	$nodes = $itemnodes->item(0)->getElementsByTagName( "a" );
	for ( $i = 0; $i < $nodes->length; $i++ ) 
	{
		print "nodename=".$nodes->item( $i )->nodeName;
		print "\t";
		print "nodevalue : ".$nodes->item( $i )->nodeValue;
		print "\r\n";
	}
}
Voici ce que mon browser affiche quand j'ouvre temp.html (le lien du site dans l'image est erroné mais c'est normal, j'ai fait un raccourci un peu rapide en voulant écrire http://www.test.com/test.html) :


Au final, j'ai l'impression que le problème est le même et qu'il s'agit d'une configuration au niveau du site http://www.test.com/test.html qui m'empêche de faire ça.
Vagabonerie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h02.


 
 
 
 
Partenaires

Hébergement Web