반응형
PHP로 실제 API를 사용하는 간단한 예제를 소개하겠습니다. 여기서는 공공 데이터 API 또는 JSONPlaceholder라는 테스트용 무료 API를 사용해 데이터를 가져와 보겠습니다.
PHP로 POST 방식 API 호출
- 테스트용 무료 API : JSONPlaceholder
이 API는 POST /posts 요청을 받아 테스트용 데이터를 생성한 것처럼 응답을 돌려줍니다. (실제 저장은 하지 않음)
PHP 코드 예제 (cURL로 POST 요청)
<?php
// 1. 요청할 API URL
$url = 'https://jsonplaceholder.typicode.com/posts';
// 2. 전송할 데이터 배열
$data = [
'title' => 'Hello API',
'body' => 'This is a test post from PHP',
'userId' => 1
];
// 3. JSON 형식으로 변환
$jsonData = json_encode($data);
// 4. cURL 초기화
$ch = curl_init($url);
// 5. 옵션 설정 (POST 방식 + 데이터 + 헤더)
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Content-Length: ' . strlen($jsonData)
]);
// 6. 실행 및 결과 저장
$response = curl_exec($ch);
// 7. 에러 확인
if (curl_errno($ch)) {
echo "오류 발생: " . curl_error($ch);
} else {
// 응답 출력
$result = json_decode($response, true);
echo "API 응답 결과:<br>";
echo "<pre>" . print_r($result, true) . "</pre>";
}
// 8. cURL 세션 종료
curl_close($ch);
?>
실행 결과 예시 (성공 시)
{
"title": "Hello API",
"body": "This is a test post from PHP",
"userId": 1,
"id": 101
}
반응형
설명
항목 | 설명 |
CURLOPT_POST | POST 요청 방식 지정 |
CURLOPT_POSTFIELDS | 전송할 데이터 |
Content-Type: application/json | JSON 데이터임을 명시 |
CURLOPT_RETURNTRANSFER | 결과를 문자열로 반환 |
실전 팁
- 인증이 필요한 경우 Authorization: Bearer YOUR_TOKEN 헤더를 추가해야 합니다.
- application/x-www-form-urlencoded 방식도 가능하며 http_build_query() 사용하면 됩니다.
- PHP 8.1+에서는 curl_* 대신 Guzzle 등 외부 HTTP 클라이언트도 추천합니다.
반응형
'PHP' 카테고리의 다른 글
PHP에서 슬래시(/)를 처리하는 방식 (26) | 2025.06.25 |
---|---|
API 이란 무엇인가요? (36) | 2025.06.23 |
변수의 어떤 값이 숫자인지 확인하려면 (8) | 2025.06.23 |
openssl_decrypt() 사용가능 유무 (53) | 2025.06.18 |
AES-256-CBC 방식의 암복호화 처리 (10) | 2025.06.18 |