İsteği proxy taşır. İstemcinin hangi hedef çerezleri göndereceğine PHP cURL'nin çerez motoru karar verir. İkisini de aktarımı yapan tutamaçta yapılandırın. HTTP proxy listesi, bu iş yükü genel aracıları kullanabildiğinde yol için adaylar sağlar:

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

Boş COOKIEFILE değeri, başlangıç çerez dosyası yüklemeden çerez motorunu etkinleştirir. Aynı tutamaçtaki sonraki istekler, hedeften alınan eşleşen çerezleri gönderebilir.

Ayrı oluşturulan tutamaçlar veya süreçler arasında kalıcılık için bilinçli seçilmiş bir çerez dosyası ilkesi kullanın. COOKIEFILE çerezleri okur; COOKIEJAR libcurl'ün sakladığı çerezleri yazar. COOKIEJAR'a bir yol vermek onun da okunduğu anlamına gelmez.

Çerez dosyalarını uygulamanın amaçladığı oturuma veya hesaba göre ayrı tutun. Eşzamanlı işlerin kullandığı paylaşılan bir dosya, her işin seçtiği proxyden bağımsız olarak durumu karıştırabilir. Dosyayı koruyun, çünkü bir oturum çerezi parola olarak etiketlenmemiş olsa da erişim sağlayabilir.

İş akışı temizlikten önce geçerli çerez durumunun yazılmasını gerektiriyorsa libcurl'ün belgelenmiş çerez komutlarını inceleyin. Durumun ne zaman yazıldığına dair tek açıklama olarak eski bir PHP örneğindeki curl_close çağrısına güvenmeyin.

Değişen proxy IP'si, uygulama değiştirmedikçe çerez ilkesini olduğu gibi bırakır. Reddedilen oturumu, proxynin oturum açmayı hatırlaması gerektiğini varsaymak yerine hedeften gelen bir yanıt olarak teşhis edin.

İlgili makaleler