본문으로 바로가기

PHP CURL 사용법

category PHP 2020. 2. 6. 20:54
반응형

 

 


 

cURL 이란?

PHP supports libcurl, a library created by Daniel Stenberg, that allows you to connect and communicate to many different types of servers with many different types of protocols. 
libcurl currently supports the http, https, ftp, gopher, telnet, dict, file, and ldap protocols.
libcurl also supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading (this can also be done with PHP's ftp extension), 
HTTP form based upload, proxies, cookies, and user+password authentication. 


PHP는 Daniel Stenberg가 만든 라이브러리 인 libcurl을 지원합니다.이 라이브러리는 다양한 유형의 프로토콜을 사용하여 다양한 유형의 서버에 연결하고 통신 할 수 있습니다. libcurl은 현재 http, https, ftp, gopher, telnet, dict, file 및 ldap 프로토콜을 지원합니다. libcurl은 HTTPS 인증서, HTTP POST, HTTP PUT, FTP 업로드 (PHP의 ftp 확장으로도 가능), HTTP 폼 기반 업로드, 프록시, 쿠키 및 사용자 + 암호 인증을 지원합니다.

대표적인 cURL 속성

 

curl_init ([ string $url = NULL ] ) : resource - $ch = curl_init() 

- Initializes a new session and return a cURL handle for use
- 사용할 새 세션을 초기화하고 cURL 핸들을 반환합니다.

curl_setopt ( resource $ch , int $option , mixed $value ) : bool 

- Sets an option on the given cURL session handle.
- 지정된 cURL 세션 핸들에서 옵션을 설정합니다.

curl_setopt 해당 주요 옵션

//CURLOPT_URL - URL 설정 
curl_setopt($ch, CURLOPT_URL, $url); 

//CURLOPT_RETURNTRANSFER - 반환값 여부 설정 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //반환 O 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); // 반환 X 

//CURLOPT_CONNECTTIMEOUT - 연결 대기 시간 설정 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); // 무한 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); // 3초 

//CURLOPT_SSL_VERIFYPEER - 원격 서버 인증서 검사 여부 설정 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //검사 O 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); // 검사 X 

//CURLOPT_POST - POST 전송 여부 설정 
curl_setopt($ch, CURLOPT_POST, true); //POST 전송 

//CURLOPT_POSTFIELDS - POST 데이터 설정 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //$data 설정 

 

curl_exec ( resource $ch ) : mixed - curl_exec($ch) 

- Execute the given cURL session. This function should be called after initializing a cURL session and all the options for the session are set.
- 주어진 cURL 세션을 실행하십시오. 이 함수는 cURL 세션을 초기화 한 후 호출해야하며 세션에 대한 모든 옵션이 설정됩니다.

 

curl_close ( resource $ch ) : void - curl_close($ch) 

- Closes a cURL session and frees all resources. The cURL handle, ch, is also deleted.
//cURL 세션을 닫고 모든 리소스를 해제합니다. cURL 핸들 ch도 삭제됩니다.

Example 

#1 GET 방식

$url = "https://test.com?adata=a&bdata=b"; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$result = curl_exec($ch); 
curl_close($ch); 


#2 POST 방식

$url = "https://test.com"; 
$data = array('a' => 'b'); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 

$result = curl_exec($ch); 
curl_close($ch); 

<출처 php.net>

 

 

반응형