php) curl

2019. 11. 24. 15:46PHP

반응형

*curl: HTTP 요청과 응답의 모든 요소에 접근가능.


curl_init() : 접근할 url을 curl_init함수에 전달.
 즉시 url을 가져오는 대신 핸들을 반환함.
 (핸들이 cURL 작동방식을 설정함)
 $c = curl_init('http://dkdkk.com');


curl_setopt() : url을 읽어오는 php엔진의 행동을 제어
 curl_setopt($c, CURLOPT_RETURNTRANSFER, true); //요청에 대한 응답을 문자열로 반환.
 curl_setopt($c, CURLOPT_HTTPHEADER, array('Content_Type:application/json')); //요청에 함께 보낼 HTTP 헤더를 지정
 curl_setopt($c, CURLOPT_POST,true); //요청을 post로 전송한다.
 curl_setopt($c, CURLOPT_POSTFIELD,$form_data); //전송할 데이터를 지정한다.
 curl_setopt($c, CURLOPT_COOKIEJAR,true); // 쿠키설정 활성화(curl이 쿠키정보를 유지하도록 함)

 

curl_exec($c) : 요청을 실제로 수행
 실행시 오류1- cURL자체오류(호스트 찾을수 없다, 원격 서버에 접속할 수 없다): false return
 실행시 오류2- 원격서버가 반환하는 오류(요청url이 서버에 존재안함, 요청에 대한 응답을 생성시 문제발생):
  $info = curl_getinfo($c); $info['http_code']// 응답코드 확인

*curl 쿠키사용
curl_setopt($c, CURLOPT_COOKIEJAR,__DIR__.'saved.cookies'); // 지정경로에 있는 파일에 쿠키를 저장함
curl_setopt($c, CURLOPT_COOKIEFILE,__DIR__.'saved.cookies'); // 이전에 저장된 saved.cookies 파일이 있다면 파일에서 쿠키 불러옴.

반응형

'PHP' 카테고리의 다른 글

코드이그나이터) 폼 검증  (0) 2020.04.20
php) 기본 함수  (0) 2019.11.24
php) session  (0) 2019.11.24
php) cookie  (0) 2019.11.24
php) log  (0) 2019.11.24