"PHP cURL과 Cookie"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 6개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개념==
==개념==
;PHP CURL에서 Cookie 다루는 법
;PHP CURL에서 Cookie 다루는 법
* PHP의 CURL함수는 웹페이지 콘텐츠를 쉽게 다운로드 할 수 있도록 도움
* PHP의 CURL함수는 웹페이지 콘텐츠를 쉽게 다운로드할 수 있도록 도움을 준다.
* 간혹 웹페이지를 다룰 때 서버로 부터의 쿠키를 관리해야 할 경우가 있음
* 간혹 웹페이지를 다룰 때 서버로 부터의 쿠키를 관리해야 할 경우가 있다.
* 쿠키 관리를 위해 '''CURLOPT_COOKIEJAR'''와 '''CURLOPT_COOKIEFILE'''를 사용하면
* 쿠키 관리를 위해 '''CURLOPT_COOKIEJAR'''와 '''CURLOPT_COOKIEFILE'''를 사용하면 된다.


==CURLOPT_COOKIEJAR==
==CURLOPT_COOKIEJAR==
* 서버에서 보낸 쿠키정보를 작성할 파일 경로를 포함한 파일 이름을 정의
* 서버에서 보낸 쿠키정보를 작성할 파일 경로를 포함한 파일 이름을 정의한다.
* 만약 파일이 존재 하지 않는다면 파일이 생성됨
* 만약 파일이 없다면 생성된다.


<source lang="php">
<syntaxhighlight lang="php">
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
</source>
</syntaxhighlight>
:→ /tmp/cookies.txt에 서버로 보내온 쿠키 정보를 저장함
:→ /tmp/cookies.txt에 서버로 보내온 쿠키 정보를 저장한다.
==CURLOPT_COOKIEFILE==
==CURLOPT_COOKIEFILE==
* Cookie Jar는 어디에 쿠키 값을 작성할지를 나타낸다면 Cookie file은 서버로 돌려보내주기 위한 설정임
* Cookie Jar는 어디에 쿠키값을 작성할지를 나타낸다면, Cookie file은 서버로 돌려 보내주기 위한 설정이다.
* 설정이 되어 있지 않으면 서버로 쿠키가 전송되지 않음
* 설정되어 있지 않으면 서버로 쿠키가 전송되지 않는다.


<source lang="php">
<syntaxhighlight lang="php">
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt');
</source>
</syntaxhighlight>


==예시==
==예시==
* '''<nowiki>http://www.example.com</nowiki>'''에 요청 시 '''/tmp/cookies.txt'''의 쿠키 파일 읽고 쓰게됨
* '''<nowiki>http://www.example.com</nowiki>'''에 요청 시 '''/tmp/cookies.txt'''의 쿠키 파일 읽고 쓰게 된다.


<source lang="php">
<syntaxhighlight lang="php">
$ch = curl_init();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
35번째 줄: 35번째 줄:
$info = curl_getinfo($ch);
$info = curl_getinfo($ch);
curl_close($ch);
curl_close($ch);
</source>
</syntaxhighlight>
:→'''CURLOPT_RETURNTRANSFER'''는 curl_exec() 결과 값이 곧장 화면에 출력되지 않고 return값으로 받기 위한 옵션임
:→'''CURLOPT_RETURNTRANSFER'''는 curl_exec() 결과 값이 곧장 화면에 출력되지 않고, return값으로 받기 위한 옵션이다.


==같이 보기==
==같이 보기==
* [[PHP cURL]]
* [[HTTP 쿠키]]
* [[리눅스 curl]]
* [[리눅스 curl]]


==참고 자료==
==참고==
* https://www.electrictoolbox.com/php-curl-cookies/
* https://www.electrictoolbox.com/php-curl-cookies/


[[분류:PHP]]
[[분류:PHP cURL]]
[[분류:Curl]]
[[분류:쿠키]]
[[분류:쿠키]]

2021년 9월 24일 (금) 23:40 기준 최신판

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 }}