[php] PHP에서 API 호출을 위한 HTTP 요청 구성

PHP는 다양한 방법으로 API를 호출하고 데이터를 가져올 수 있습니다. 가장 흔한 방법 중 하나는 HTTP 요청을 통해 API와 통신하는 것입니다. 이 기사에서는 PHP에서 HTTP 요청을 만들고 API를 호출하는 방법을 살펴보겠습니다.

cURL을 사용한 HTTP 요청

cURL은 PHP에서 HTTP 클라이언트를 만드는 데 가장 일반적으로 사용되는 방법 중 하나입니다. 아래는 cURL을 사용하여 API의 엔드포인트에 GET 요청을 보내는 예제 코드입니다.

<?php
// API 엔드포인트
$url = 'https://api.example.com/data';

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

// 옵션 설정
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 요청 보내고 응답 받기
$response = curl_exec($ch);

// 세션 닫기
curl_close($ch);

// 응답 처리
var_dump($response);
?>

이 코드는 $url에서 지정한 엔드포인트로 GET 요청을 보내고, 받은 응답을 화면에 출력합니다.

HTTP 요청을 통한 데이터 전송

만약 API에 데이터를 전송해야 한다면, cURL을 사용하여 POST 요청을 보내는 방법도 있습니다. 아래는 POST 요청을 보내고 JSON 형식의 데이터를 API에 전송하는 예제 코드입니다.

<?php
// API 엔드포인트
$url = 'https://api.example.com/data';

// 전송할 데이터
$data = array('name' => 'John Doe', 'email' => 'john@example.com');
$data_string = json_encode($data);

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

// 옵션 설정
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($data_string))                                                                       
);

// 요청 보내고 응답 받기
$response = curl_exec($ch);

// 세션 닫기
curl_close($ch);

// 응답 처리
var_dump($response);
?>

위 코드는 $data 배열을 JSON 형식으로 인코딩하여 API에 전송하는 POST 요청 예제입니다.

마치며

이 기사에서는 PHP에서 API 호출을 위한 cURL을 사용한 HTTP 요청 구성에 대해 알아보았습니다. cURL을 사용하면 간편하게 다양한 유형의 HTTP 요청을 만들고 API와 통신할 수 있습니다. 더 복잡한 요청이나 인증이 필요한 경우, cURL을 통해 헤더와 다른 옵션을 설정하여 API 호출을 커스터마이즈할 수 있습니다.

참고 자료: PHP cURL 공식 문서