Le proxy transporte la requête. Le moteur de cookies de PHP cURL décide quels cookies de destination le client envoie. Configurez les deux sur le handle qui effectue le transfert. La liste de proxys HTTP fournit des candidats pour l’itinéraire lorsque cette tâche peut utiliser des intermédiaires publics :

curl_setopt($handle, CURLOPT_PROXY, 'http://203.0.113.10:8080');
curl_setopt($handle, CURLOPT_COOKIEFILE, '');

La valeur vide de COOKIEFILE active le moteur de cookies sans charger de fichier de cookies initial. Les requêtes suivantes sur ce handle peuvent envoyer les cookies correspondants reçus de la destination.

Pour la persistance entre des handles ou des processus créés séparément, utilisez une politique de fichier de cookies délibérée. COOKIEFILE lit les cookies ; COOKIEJAR écrit les cookies conservés par libcurl. Donner un chemin à COOKIEJAR ne le fait pas aussi lire.

Gardez les fichiers de cookies séparés selon la session ou le compte prévus par l’application. Un fichier partagé par des tâches concurrentes peut mélanger l’état indépendamment du proxy choisi par chaque tâche. Protégez le fichier, car un cookie de session peut accorder l’accès même s’il n’est pas étiqueté comme mot de passe.

Si le flux de travail exige que l’état actuel des cookies soit vidé avant le nettoyage, examinez les commandes de cookies documentées de libcurl. Ne vous fiez pas à l’appel curl_close d’un exemple PHP obsolète comme seule explication du moment où l’état est écrit.

Une IP de proxy modifiée laisse la politique de cookies intacte, sauf si l’application la modifie. Diagnostiquez une session rejetée comme une réponse de la destination au lieu de supposer que le proxy doit mémoriser la connexion.

Articles similaires