16 avr 2009
PHP : cURL + Proxy + HTTPS + Cookies
Voici un petit bout de code très pratique si vous souhaitez envoyer une image ou un fichier à un formulaire avec la fonction cURL de PHP, le tout hébergé sur un serveur en HTTPS et en passant par un proxy ! Ouf !
Et au passage on pourra utiliser les cookies si besoin…
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 | // Initialisation $ch = curl_init(); // Envoi de données en POST curl_setopt($ch, CURLOPT_POST, 1); // Envoi du fichier curl_setopt($ch, CURLOPT_POSTFIELDS, array('nom_du_champ'=>'@chemin_du_fichier_a_uploader.extension')); // URL de la page curl_setopt($ch, CURLOPT_URL, 'https://www.monsite.fr/monFormulaire.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Configuration du proxy curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); curl_setopt($ch, CURLOPT_PROXY, 'url_du_proxy:port_du_proxy'); curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username_du_proxy:mot_de_passe'); // Les 2 lignes suivantes ne sont pas nécessaires mais si la connexion ne fonctionne pas, ajoutez-les, on ne sait jamais... curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // Fichier ou sont stockés les cookies (lecture) curl_setopt($ch, CURLOPT_COOKIEFILE, realpath('.')."\cookie.txt"); // Fichier ou sont stockés les cookies (écriture) curl_setopt($ch, CURLOPT_COOKIEJAR, realpath('.')."\cookie.txt"); // Ecriture d'un cookie curl_setopt($ch, CURLOPT_COOKIE,'nom_du_cookie=valeur_du_cookie'; // $data contient la chaine de caractère renvoyée par le formulaire (code HTML de la page), affichez la pour voir le résultat (utile pour le débug) $data = curl_exec($ch); curl_close($ch); |




2 Commentaire
Commentaire ou Trackback
Jordan
Hum, et si c’est un proxy gratuit et qu’il faut être connecté (via web) sur le proxy pour qu’il gère les cookies.
juil 10th, 2009
Jordan
Il manque des )…
juil 10th, 2009
Laisse un commentaire !