CURL OPT_PROXY => Couldn't connect to host

loulou8787 -  
miramaze Messages postés 1429 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je suis en train de réaliser un script PHP qui se connecte à un site toutes les heures pour récupérer des infos et les stocker dans une BDD (j'ai obtenu l'autorisation du site pour réaliser ces relevés donc tout est légal rassurez vous).
J'utilise cURL qui se connecte à la page voulue et me retourne grâce à des expressions régulières les données qui m'intéressent dans cette page.
Je voudrais néanmoins utiliser un proxy pour réaliser cette connexion. J'ai vu que cURL proposait cette possibilité. Selon la documentation et d'après différents autos j'ai trouvé ce code:


$proxy = 'monproxy:port';
$url = 'monip.org';
$timeout=50;

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $url); // Je veux me connecter a monip.org pour vérifier que l'ip est bien celle de mon proxy


curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_PROXY, $proxy);

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$return = curl_exec($ch);
echo $return; 

if(curl_errno($ch))
{
    echo 'Erreur Curl : ' . curl_error($ch);
}

curl_close($ch);

 


Lorsque je lance la page, je n'arrive pas a obtenir la page de monip.org et j'obtiens le message d'érreur "couldn't connect to host"

Si je n'utilise pas les deux lignes qui configurent le proxy (proxytunnel et proxy) alors j'obtiens bien la page avec évidemment mon IP naturelle.
J'utilise l'hébergeur 000webhost en hébergement gratuit. Je ne pense pas que le provienne vienne de là car si la fonction était désactivée j'aurais un message d'erreur me le signalant (la fonction followlocation de curl est désactivée sur 000webhost et un message d'erreur le signale si on veut l'utiliser et pas dans le cas du proxy).

Si quelqu'un a une idée pour résoudre mon problème ça serait bien sympathique :)
Merci d'avance de vous être penché sur mon problème et du temps que vous passez dessus.
Bonne soirée :)

A voir également:

1 réponse

miramaze Messages postés 1429 Date d'inscription   Statut Contributeur Dernière intervention   92
 
Hello,

j'ai testé ce bout de code et ça fonctionne.

Tu mets quoi dans $proxy ?
0
loulou8787
 
Effectivement, le code fonctionne chez moi mais avec quelques proxies seulement (des proxy gratuits trouvés sur "proxy list" venant de chine les autres fonctionnent pas
Malheureusement j'avais acheté 10 proxies chez ninjaproxies et ceux la je n'arrive pas a les utiliser

Dans $proxy je mets 'proxy:port' et dans $usrername 'nom:mdp' lorsque j'utilise les ninjas proxies

Comment ça s fait que ça marche pas avec tous meme ceux que j'ai acheté ?


Merci pour vos réponses :-)
0
miramaze Messages postés 1429 Date d'inscription   Statut Contributeur Dernière intervention   92
 
Déjà si tu récupères des proxys gratuits sur internet la disponibilité est aléatoire ils peuvent très bien être down, il faut les pinger pour voir.

Après, en ce qui concerne les proxies que tu as acheté, où est ce que tu mets les identifiants, fais voir ton code.
0