반응형
CURL(Client URL) 이란?
다양한 프로토콜로 데이터 전송이 가능한 Command Line Tool
CURL 함수 (*더 많은 함수가 있습니다)
- curl_init : 세션 초기화, 핸들값 리턴
- curl_setopt : 옵션 세팅
- curl_exec : curl 실행
- curl_errno : 에러 발생 시 에러번호를 가져옴
- curl_error : 에러 발생 시 에러메시지를 가져옴
- curl_getinfo : 상태 정보를 리턴
- curl_close : curl 세션 close
CURL_SETOPT 옵션 값
- CURLOPT_FOLLOWLOCATION : TRUE로 설정 시 HTTP 헤더로 보내는 LOCATION헤더의 내용을 따름
- CURLOPT_HEADER : TRUE로 설정 시 헤더의 내용을 출력
- CURLOPT_NOBODY : TRUE로 설정 시 본문의 내용을 받지 않음
- CURLOPT_ POST : 전송 Method 설정 (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 사용법
1. GET
$data = array(
'test1' => 'test1',
'test2' => 'test2',
);
$url = "https://API URL/?test1={$test1}&test2={$test2}
$ch = curl_init(); // curl 초기화
curl_setopt($ch, CURLOPT_URL, $url); // URL 지정하기
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 요청 결과를 문자열로 반환
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); // connection timeout 10초
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 원격 서버의 인증서가 유효한지 검사 안함
$response = curl_exec($ch);
curl_close($ch);
return $response;
2. POST
$data = array(
'test1' => 'test1',
'test2' => 'test2',
);
$url = "API URL";
$ch = curl_init(); //curl 초기화
curl_setopt($ch, CURLOPT_URL, $url); //URL 지정하기
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //요청 결과를 문자열로 반환
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); //connection timeout 3초
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //POST data
curl_setopt($ch, CURLOPT_POST, true); //true시 post 전송
$response = curl_exec($ch); //쿼리 실행
curl_close($ch);
return $response;
자세한 내용은 PHP Manual을 참조하길 바랍니다.
반응형
'PHP' 카테고리의 다른 글
| [PHP] Array 배열 정렬 (Array sort) (1) | 2023.11.23 |
|---|---|
| [PHP] isset / unset / empty / is_null / is_numeric (1) | 2023.11.23 |
| [PHP] 문자열 관련함수 (4) | 2023.11.22 |
| [PHP] 문자열 합치기 (1) | 2023.11.22 |
| [PHP] preg_match(), preg_match_all(), preg_replace()과 정규식(정규 표현식) (0) | 2023.11.17 |