Page 1 sur 1

Lire une page via un proxy

Posté : 29 mars 2008, 01:00
par Patric
Bonjour,

J'aimerai lire une page (externe) via un proxy.
J'ai vu une solution consistant à utiliser
$opts = array( 'http' =>
	 array (
		'method' => 'GET',
		'proxy' => 'proxy:8080',
		'request_fulluri' => true
	 )
);

$context = stream_context_create($opts);

file_get_contents($url,false,$context);

Mais mon hébergeur bloque les fopen() et file_get_contents(). Ce script ne fonctionne donc pas.
J'aimerai savoir comment contourner cela ?

Existe-til une solution pour lire une page a travers un proxy ?

Merci d'avance.

Posté : 29 mars 2008, 12:14
par @rthur
Bonjour,

Regarde du côté de curl, c'est la solution toute indiquée pour passer par un proxy:
http://fr.php.net/curl

Par ailleurs, je ne sais pas qui est ton hébergeur, mais c'est assez douteux comme protection de bloquer l'utilisation des fonctions fopen et file_get_contents() :D

Posté : 29 mars 2008, 14:13
par Patric
C'est 1and1.
En recherchant, j'ai vu qu'on pouvait aussi créer son propre php.ini et donc rajouter la directive allow_url_fopen = ON (elle est à OFF chez mon hébergeur)

Merci pour Curl.

++

Posté : 29 mars 2008, 15:42
par Patric
Re,

Curl fonctionne bien avec un proxy ! Merci encore.

Mais mon probleme maintenant est qe curl me renvoie la page dans une variable comme cela :
$PageContent = curl_exec($cUrl);
Or moi je voudrais utiliser des regexp sur le code html de cette page.
car avant j'utilisais ca :
$handle = @fopen($url, "r");
if ($handle) {
	while (!feof($handle)) {
 // ma regexp...
Mais maintenant comment puis-je parcourir ligne par ligne ma variable $PageContent de curl ?

Merci.

Posté : 29 mars 2008, 17:22
par chrislabricole
C'est 1and1.
En recherchant, j'ai vu qu'on pouvait aussi créer son propre php.ini et donc rajouter la directive allow_url_fopen = ON (elle est à OFF chez mon hébergeur)

Merci pour Curl.

++
à bon ?? non......
file_get_contents(), il autorise, en revanche, file_put_contents(), il veut pas, pour fopen(), il prend sans problème ;)
(en tout cas, je suis sur le pack perso initial hébergement Linux ;) )

Posté : 29 mars 2008, 18:20
par Patric
Moi un Premium linux ;)
J'ai réglé mes erreurs.
++