Włączanie plików cookie w uchwycie PHP cURL korzystającym z proxy
Zachowaj pliki cookie miejsca docelowego w silniku cookie PHP cURL, konfigurując trasę proxy osobno.
Żądanie przenosi proxy. To silnik cookie PHP cURL decyduje, które pliki cookie miejsca docelowego wyśle klient. Skonfiguruj oba w uchwycie wykonującym transfer. Lista proxy HTTP dostarcza kandydatów do trasy, gdy to zadanie może korzystać z publicznych pośredników:
curl_setopt($handle, CURLOPT_PROXY, 'http://203.0.113.10:8080');
curl_setopt($handle, CURLOPT_COOKIEFILE, '');Pusta wartość COOKIEFILE włącza silnik cookie bez ładowania początkowego pliku cookie. Kolejne żądania w tym uchwycie mogą wysyłać pasujące pliki cookie otrzymane z miejsca docelowego.
Aby zachować trwałość między osobno tworzonymi uchwytami lub procesami, użyj świadomie wybranej polityki pliku cookie. COOKIEFILE czyta pliki cookie; COOKIEJAR zapisuje pliki cookie zachowywane przez libcurl. Podanie ścieżki do COOKIEJAR nie oznacza, że jest on również czytany.
Trzymaj pliki cookie osobno zgodnie z zamierzoną sesją lub kontem aplikacji. Wspólny plik używany przez równoległe zadania może mieszać stan niezależnie od tego, które proxy wybierze każde zadanie. Chroń plik, ponieważ cookie sesji może dawać dostęp, mimo że nie jest oznaczone jako hasło.
Jeśli przepływ pracy wymaga zapisania bieżącego stanu cookie przed sprzątaniem, sprawdź udokumentowane polecenia cookie libcurl. Nie polegaj na wywołaniu curl_close z przestarzałego przykładu PHP jako jedynym wyjaśnieniu, kiedy stan jest zapisywany.
Zmieniony adres IP proxy pozostawia politykę cookie nietkniętą, chyba że aplikacja ją zmieni. Diagnozuj odrzuconą sesję jako odpowiedź miejsca docelowego, zamiast zakładać, że proxy musi pamiętać logowanie.