CURL OPT_PROXY => Couldn't connect to host

Fermé
loulou8787 - 9 août 2015 à 21:58
miramaze Messages postés 1429 Date d'inscription mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 - 11 août 2015 à 19:49
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 :)

1 réponse

miramaze Messages postés 1429 Date d'inscription mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 92
10 août 2015 à 22:43
Hello,

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

Tu mets quoi dans $proxy ?
0
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 mercredi 29 juillet 2009 Statut Contributeur Dernière intervention 1 mai 2022 92
11 août 2015 à 19:49
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