cURL (URL의 클라이언트)는 다양한 네트워크 프로토콜을 통해 데이터를 전송하는 데 사용되는 다용도 명령줄 도구 및 라이브러리입니다. 파일 다운로드, API 테스트, 웹사이트 스크래핑, 데이터 전송 자동화 등의 많은 주요 기능 덕분에 cURL은 개발자들 사이에서 매우 인기가 있는 도구입니다.
API를 구축, 모킹, 디버깅 또는 문서화할 수 있는 도구를 찾고 계시다면 더 이상 고민할 필요 없습니다 - 아래 버튼을 클릭하여 무료로 시작하세요!👇
curl_init()의 공식 정의 [PHP]
공식 PHP 웹사이트에 따르면 curl_init 함수는 cURL 세션을 초기화하고 curl_setopt(), curl_exec(), curl_close() 함수와 함께 사용할 cURL 핸들을 반환합니다.
관련 매개변수
url
URL을 제공하면 CURLOPT_URL
옵션이 해당 값으로 설정됩니다. curl_setopt() 함수를 사용하여 이 옵션을 수동으로 설정할 수도 있습니다.
그러나 open_basedir
가 설정된 경우 file
프로토콜은 cURL 자체에서 비활성화된다는 점에 유의해야 합니다.
반환 값
curl_init() 함수는 성공 시 cURL 핸들을 반환하고, 오류 발생 시 false
를 반환합니다.
curl_init() 코드 예시
다음은 curl_init() 함수 사용 예시입니다.
예시 1 - cURL 세션 초기화 및 웹 페이지 가져오기
<?php
// 새로운 cURL 리소스 생성
$ch = curl_init();
// URL 및 기타 적절한 옵션 설정
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
// URL 가져와서 브라우저에 전달
curl_exec($ch);
// cURL 리소스 닫기 및 시스템 리소스 해제
curl_close($ch);
?>
예시 2 - 파일 다운로드
$url = "https://example.com/image.jpg";
$filename = "downloaded_image.jpg";
// cURL 세션 초기화
$curl = curl_init($url);
// 전송을 문자열로 반환하는 옵션 설정
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// cURL 요청을 실행하고 응답 저장
$response = curl_exec($curl);
// 오류 확인
if (curl_errno($curl)) {
echo "파일 다운로드 중 오류 발생: " . curl_error($curl);
exit;
}
// cURL 세션 닫기
curl_close($curl);
// 파일을 쓰기 위해 열기
$fp = fopen($filename, 'w');
// 다운로드한 콘텐츠를 파일에 쓸기
fwrite($fp, $response);
// 파일 핸들 닫기
fclose($fp);
echo "파일이 성공적으로 다운로드되었습니다!";
예시 3 - API에 GET 요청 보내기
$url = "https://api.example.com/data";
// cURL 세션 초기화
$curl = curl_init($url);
// 전송을 문자열로 반환하는 옵션 설정
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// cURL 요청을 실행하고 응답 저장
$response = curl_exec($curl);
// 오류 확인
if (curl_errno($curl)) {
echo "데이터 가져오기 중 오류 발생: " . curl_error($curl);
exit;
}
// cURL 세션 닫기
curl_close($curl);
// JSON 응답 디코딩 (API가 JSON을 반환한다고 가정)
$data = json_decode($response, true);
// 응답에서 데이터 액세스 및 표시
echo "API 응답:<br>";
print_r($data);
이들은 PHP에서 curl_init() 함수를 사용하는 몇 가지 기본 예시입니다. cURL과 함께 사용할 수 있는 많은 다른 옵션 및 기능이 있으므로 특정 요구 사항에 따라 데이터 전송 프로세스를 사용자화할 수 있습니다. 따라서 공식 cURL 문서(https://www.php.net/manual/en/book.curl.php)를 확인하시기 바랍니다.

Apidog - cURL 파일을 손쉽게 다루기
Apidog는 전체 API 생애 주기를 위한 모든 필수 도구를 사용자에게 제공하는 정교한 API 개발 플랫폼입니다. Apidog를 사용하면 더 이상 Postman, Stoplight 및 ReadMe와 같은 여러 소프트웨어를 다운로드할 필요가 없습니다. Apidog는 API 문제를 해결하기 위한 올인원 솔루션이 될 수 있습니다.

cURL 명령을 Apidog에 신속하게 가져오기

Apidog는 cURL 명령을 Apidog로 가져오고자 하는 사용자를 지원합니다. 빈 프로젝트에서 Apidog 창의 왼쪽 상단 부분에 있는 보라색 +
버튼을 클릭하고 cURL 가져오기
를 선택합니다.

화면에 표시된 박스에 cURL 명령을 복사하여 붙여넣기 합니다.

성공적으로 가져오면 cURL 명령이 API 요청 형식으로 표시됩니다.
Apidog로 PHP 코드 생성하기
PHP 코딩에 도움이 필요하시면, Apidog는 그러한 도움을 줄 수 있는 코드 생성 기능이 있습니다.

먼저, 모든 API 또는 요청에서 </> 코드 생성
버튼을 찾아서 드롭다운 목록에서 클라이언트 코드 생성
을 선택합니다.

그 후 PHP를 선택하고 cURL 섹션을 찾습니다. 이제 cURL을 위한 생성된 코드를 볼 수 있습니다. 복사하여 IDE(통합 개발 환경)에 붙여넣고 애플리케이션 개발을 계속하세요.
결론
curl_init
은 PHP에서 cURL 라이브러리를 사용하여 서버 및 URL과 상호작용하기 위한 기초입니다. 새로운 통신 채널을 시작하며, 추가 구성 및 데이터 전송을 위한 핸들을 반환합니다. curl_init
과 다른 cURL 기능을 활용하면 파일 다운로드, API 요청 전송, 데이터 전송 자동화 등을 수행할 수 있습니다. cURL의 다재다능함은 HTTP/HTTPS를 넘어 다양한 프로토콜을 지원하여 애플리케이션 전반에 걸쳐 포괄적인 데이터 관리를 제공합니다.
사용 용이성과 광범위한 기능 덕분에 curl_init
은 개발자들이 PHP 코드 내에서 데이터 전송 요구를 효율적으로 처리할 수 있도록 합니다.