[php] cURL을 사용하여 JSON 데이터를 보내고 받는 방법은?

cURL은 PHP에서 다른 서버로 HTTP 요청을 보내고 응답을 받는데 사용되는 강력한 라이브러리입니다. JSON 데이터를 보내거나 받기 위해서는 몇가지 설정이 필요합니다.

JSON 데이터 보내기

cURL을 사용하여 서버에 JSON 데이터를 보내려면 CURLOPT_POSTFIELDS 설정을 사용해야 합니다. 예를 들면:

<?php
// JSON 데이터 생성
$data = array('key1' => 'value1', 'key2' => 'value2');
$json = json_encode($data);

// cURL 초기화
$ch = curl_init('http://example.com/api');

// cURL 옵션 설정
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

// 실행 및 종료
$result = curl_exec($ch);
curl_close($ch);
?>

JSON 데이터 받기

다른 서버로부터 JSON 응답을 받으려면 CURLOPT_RETURNTRANSFER 설정을 사용하여 cURL이 응답을 반환하도록 해야 합니다. 그 후에는 받은 JSON 데이터를 PHP 배열로 디코딩할 수 있습니다.

<?php
$ch = curl_init('http://example.com/api');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

// 받은 JSON 데이터를 PHP 배열로 디코딩
$data = json_decode($response, true);

// 결과 출력
print_r($data);
?>

cURL을 사용하여 JSON 데이터를 보내고 받는 것은 간단하며, HTTP 요청과 응답을 관리하는 데 매우 효과적입니다. 위의 예제를 참고하여 cURL을 사용하여 JSON 데이터를 송수신해 보시기 바랍니다.

더 자세한 내용은 PHP 공식 문서 cURL 사용법을 참고하실 수 있습니다.