■ CURL (Client URL Library Functions)
- 커맨드 라인에서 URL 문법을 사용하여 파일을 전송하는
내가 원하는 주소의 페이지에 임의의 값을 전달하고 리턴 값을 받아오는 역할
curl 모듈을 사용하기 위해서는 curl 모듈을 서버에 설치하여야 한다.
■ CURL 함수 정리
- curl_init : 세션 초기화, 핸들값 리턴
- curl_setopt : 옵션 세팅 (옵션값에 대해서는 하단에 추가 설명)
- curl_exec : curl 실행
- curl_errno : 에러 발생 시 에러번호를 가져온다.
- curl_error : 에러 발생 시 에러메시지를 가져온다.
- curl_getinfo : 상태 정보를 리턴한다.
- curl_close : curl 세션을 닫는다.
■ CURL_SETOPT 옵션 값
- CURLOPT_FOLLOWLOCATION : TRUE로 설정 시 HTTP 헤더로 보내는 LOCATION헤더의 내용을 따른다.
- CURLOPT_HEADER : TRUE로 설정 시 헤더의 내용을 출력
- CURLOPT_NOBODY : TRUE로 설정 시 본문의 내용을 받지 않는다.
- CURLOPT_ POST : 전송 메서드 설정 (1-POST / 2-GET)
- CURLOPT_RETURNTRANSFER : TRUE로 설정 시 curl_exec()의 반환 값을 문자열로 반환
- CURLOPT_PORT : 연결 포트 설정
- CURLOPT_TIMEOUT : 반환 값에 대한 타임아웃 설정
- CURLOPT_POSTFIELDS : 'POST'로 보내는 데이터 정의
- CURLOPT_REFERER : HTTP 요청에 사용되는 REFERER헤더의 내용
- CURLOPT_URL : 접속할 URL 주소 설정
- CURLOPT_USERAGENT : HTTP 요청에 사용되는 User-Agent헤더의 내용
■ CURL 사용 예제
- GET 방식
<?php
$url = "https://www.naver.com?param1=data1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // 연결 URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // 반환값 문자열로 반환
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // SSL인증서 유효성검사 설정X
$res = curl_exec($ch); // CURL 실행 (반환값 -> $res)
curl_close($ch); // CURL 종료
return $res;
- POST 방식
<?php
$param = array(
'param1' => 'data1'
);
$url = "https://www.naver.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // 연결 URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // 반환값 문자열로 반환
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // SSL인증서 유효성검사 설정X
curl_setopt($ch, CURLOPT_POST, TRUE); // POST로 전송
curl)setopt($ch, CURLOPT_POSTFIELDS, $data); // POST로 전송할 Data
$res = curl_exec($ch); // CURL 실행 (반환값 -> $res)
curl_close($ch); // CURL 종료
return $res;