[php] cURL을 사용하여 외부 API에 요청하는 방법은?

cURL은 많은 다양한 프로토콜을 지원하는 커맨드 라인 도구이자 라이브러리로, PHP에서 외부 API에 HTTP 요청을 보내는 데 유용하게 사용됩니다. 이번 글에서는 cURL을 사용하여 외부 API에 요청하는 과정을 살펴보도록 하겠습니다.

1. cURL 라이브러리 설치

PHP에서 cURL을 사용하기 위해서는 먼저 cURL 라이브러리가 설치되어 있어야 합니다. 일반적으로 cURL은 PHP에 기본 포함되어 있지만, 활성화되어 있지 않을 수도 있습니다. PHP.ini 파일에서 extension=php_curl.dll 주석을 제거하여 활성화할 수 있습니다.

2. cURL을 사용하여 GET 요청 보내기

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

// 요청할 URL 설정
curl_setopt($ch, CURLOPT_URL, 'https://api.example.com/data');

// 반환된 결과를 문자열로 반환
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// GET 요청 실행
$response = curl_exec($ch);

// cURL 세션 종료
curl_close($ch);

// 반환된 데이터 출력
echo $response;
?>

위의 코드에서는 curl_init()으로 cURL 세션을 초기화한 후, curl_setopt()을 사용하여 요청할 URL을 설정하고, 반환된 결과를 문자열로 반환하도록 설정한 후 GET 요청을 실행하고, 마지막으로 반환된 데이터를 출력하는 과정을 보여줍니다.

3. cURL을 사용하여 POST 요청 보내기

<?php
// POST로 보낼 데이터
$postData = array(
    'key1' => 'value1',
    'key2' => 'value2'
);

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

// 요청할 URL 설정
curl_setopt($ch, CURLOPT_URL, 'https://api.example.com/postdata');

// POST 요청으로 설정
curl_setopt($ch, CURLOPT_POST, true);

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

// 반환된 결과를 문자열로 반환
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// POST 요청 실행
$response = curl_exec($ch);

// cURL 세션 종료
curl_close($ch);

// 반환된 데이터 출력
echo $response;
?>

위의 코드에서는 curl_setopt()을 사용하여 cURL을 POST 요청으로 설정하고, POST로 보낼 데이터를 설정한 후 POST 요청을 실행하는 과정을 보여줍니다.

요약

cURL을 사용하여 PHP에서 외부 API에 요청하는 방법에 대해 알아보았습니다. cURL을 사용하면 HTTP를 통해 간단하게 데이터를 주고받을 수 있으며, 다양한 옵션을 설정하여 데이터를 안전하게 송수신할 수 있습니다. cURL을 통해 외부 API와의 상호작용을 효율적으로 수행할 수 있습니다.

참고 문헌: