프록시를 사용하는 PHP cURL 핸들에서 쿠키 활성화
프록시 경로를 별도로 구성하면서 대상 쿠키는 PHP cURL의 쿠키 엔진에 유지합니다.
요청을 운반하는 것은 프록시입니다. 클라이언트가 어떤 대상 쿠키를 보낼지는 PHP cURL의 쿠키 엔진이 결정합니다. 전송을 수행하는 핸들에서 둘 다 구성하십시오. 이 작업이 공용 중계자를 사용해도 될 때 HTTP 프록시 목록이 경로 후보를 제공합니다:
curl_setopt($handle, CURLOPT_PROXY, 'http://203.0.113.10:8080');
curl_setopt($handle, CURLOPT_COOKIEFILE, '');COOKIEFILE 값을 비우면 초기 쿠키 파일을 로드하지 않고 쿠키 엔진이 활성화됩니다. 같은 핸들의 이후 요청은 대상에서 받은 일치하는 쿠키를 보낼 수 있습니다.
별도로 만든 핸들이나 프로세스 사이에서 유지하려면 의도적으로 정한 쿠키 파일 정책을 사용하십시오. COOKIEFILE은 쿠키를 읽고, COOKIEJAR는 libcurl이 보관하는 쿠키를 씁니다. COOKIEJAR에 경로를 준다고 해서 그것을 읽는 것도 아닙니다.
쿠키 파일은 애플리케이션이 의도한 세션이나 계정별로 분리하십시오. 동시 작업이 공유하는 파일은 각 작업이 고르는 프록시와 무관하게 상태를 섞을 수 있습니다. 세션 쿠키는 비밀번호로 표시되지 않아도 접근 권한을 줄 수 있으므로 파일을 보호하십시오.
정리 전에 현재 쿠키 상태를 기록해야 한다면 libcurl의 문서화된 쿠키 명령을 확인하십시오. 상태가 언제 기록되는지에 대한 유일한 설명으로 오래된 PHP 예제의 curl_close 호출에 의존하지 마십시오.
프록시 IP가 바뀌어도 애플리케이션이 바꾸지 않는 한 쿠키 정책은 그대로입니다. 거부된 세션은 프록시가 로그인을 기억해야 한다고 가정하지 말고 대상의 응답으로 진단하십시오.