PHP cURL과 Cookie

1 개념[ | ]

PHP CURL에서 Cookie 다루는 법
  • PHP의 CURL함수는 웹페이지 콘텐츠를 쉽게 다운로드할 수 있도록 도움을 준다.
  • 간혹 웹페이지를 다룰 때 서버로 부터의 쿠키를 관리해야 할 경우가 있다.
  • 쿠키 관리를 위해 CURLOPT_COOKIEJARCURLOPT_COOKIEFILE를 사용하면 된다.

2 CURLOPT_COOKIEJAR[ | ]

  • 서버에서 보낸 쿠키정보를 작성할 파일 경로를 포함한 파일 이름을 정의한다.
  • 만약 파일이 없다면 생성된다.
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
→ /tmp/cookies.txt에 서버로 보내온 쿠키 정보를 저장한다.

3 CURLOPT_COOKIEFILE[ | ]

  • Cookie Jar는 어디에 쿠키값을 작성할지를 나타낸다면, Cookie file은 서버로 돌려 보내주기 위한 설정이다.
  • 설정되어 있지 않으면 서버로 쿠키가 전송되지 않는다.
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt');

4 예시[ | ]

  • http://www.example.com에 요청 시 /tmp/cookies.txt의 쿠키 파일 읽고 쓰게 된다.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt');

$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
CURLOPT_RETURNTRANSFER는 curl_exec() 결과 값이 곧장 화면에 출력되지 않고, return값으로 받기 위한 옵션이다.

5 같이 보기[ | ]

6 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}