Recherche :

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);

> en savoir plus sur cURL

2 Commentaire
Commentaire ou Trackback

  1. 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.

  2. Jordan

    Il manque des )…

Laisse un commentaire !