PHP cURL 외부 사이트 송수신 처리 사용 방법

PHP에서 외부 사이트의 정보를 취득할 수 있는 cURL 함수에 대해 살펴보겠습니다.

 

cURL 이란

HTTP 리퀘스트를 사용해 외부 사이트 정보를 취득하는 함수입니다.

리퀘스트를 보내기 때문에 리스폰스를 받게 됩니다.

받은 정보를 화면에 표시할 수도 있습니다.

 

cURL 사용 방법

cURL 사용방법을 알아보겠습니다.

curl_init()

curl_init ([ string $url = NULL ] )

cURL 세션 초기화를 하고 cURL을 조작을 가능하게 합니다.

 

curl_setopt()

curl_setopt ( resource $Handler , int $Option , mixed $Value )

전송할 때 사용할 옵션을 설정합니다.

 

curl_exec()

curl_exec ( resource $Handler )

cURL 세션을 실행합니다.

curl_exec을 사용하기 위해서는 세션 초기화와 전송 옵션 설정을 미리 해줘야 합니다.

 

curl_close()

curl_close ( resource $Handler )

cURL 세션을 종료합니다.

 

cURL 예제

<?php
//접속 할 URL을 지정
$url = "https://www.google.com/";

//cURL 세션 초기화
$ch = curl_init();

//URL과 옵션을 설정
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//cURL 실행
$res = curl_exec($ch);

//결과 표시
var_dump($res);

//세션을 종료
curl_close($conn);

?>

 

예제를 실행하면 브라우저에 https://www.google.com/ 사이트가 표시됩니다.

cURL을 사용하여 웹 서버에 리퀘스트를 하는 경우 GET 사용할 수 있습니다.

예를 들어 HTML 파일이나 사진 등 데이터를 취득하는 경우 사용됩니다.

위 예제는 GET 방식을 사용해 리퀘스트를 요청했습니다.

 

POST 사용 방법

POST 방식을 사용해서 cURL을 요청하는 방법을 알아보겠습니다.

작성 방법은 GET과 동일합니다.

GET과 POST 차이는 POST를 사용하면 HTTP 리퀘스트를 전송할 때 body 요소에 데이터 내용을 포함해 텍스트 또는 바이너리 데이터를 전송할 수 있습니다.

 

cURL POST 예제

<?php
//접속 할 URL을 지정
$url = "https://www.google.com/";

//cURL 세션 초기화
$ch = curl_init();

//전송할 데이터를 설정
$data = array('user' => 1);

//URL과 옵션을 설정
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

//cURL 실행
$res = curl_exec($ch);

//결과 표시
var_dump($res);

//세션을 종료
curl_close($ch);
?>

 

POST를 사용하기 위해서는 curl_setopt 함수에 CURLOPT_POST 를 true로 설정해주면 됩니다.

그리고 POST로 전송할 데이터는 옵션 선택을 CURLOPT_POSTFIELDS로 해서 전송하고 싶은 데이터를 작성하면 됩니다.

 

정리

PHP에서 외부 사이트 정보를 취득하는 방법인 cURL을 살펴보았습니다.

cURL을 사용하여 정보 취득만이 아닌 미리 만들어놓은 CGI 프로그램도 실행할 수 있습니다.

여러 방면으로 편리하게 사용 가능합니다.

댓글