PHP cURL
개요
PHP로 구동되는 Daniel Stenberg가 만든 libcurl 라이브러리를 사용하면 다양한 유형의 프로토콜을 사용하여 다양한 서버와 연결하고 통신할 수 있습니다.
libcurl은 현재 http, https, ftp, gopher, telnet, dict, file 및 ldap 프로토콜을 지원합니다. libcurl은 또한 HTTPS 인증, HTTP POST, HTTP PUT, FTP 업로드(PHP의 FTP 확장을 통해서도 수행 가능), HTTP 양식 기반 업로드, 프록시, 쿠키 및 사용자 이름 + 비밀번호 인증을 지원합니다.
cURL을 사용하여 PHP에서 Get 및 Post 요청을 구현하는 방법
이러한 기능은 PHP 4.0.2에 도입되었습니다.
Requirements
PHP의 cURL 기능을 사용하려면 » libcurl 패키지를 설치해야 합니다.
PHP에는 libcurl 7.0.2-beta 이상이 필요합니다. PHP 4.2.3에서 cURL을 사용하려면 libcurl 버전 7.9.0 이상을 설치해야 합니다. PHP 4.3.0부터는 libcurl 버전 7.9.0 이상을 설치해야 합니다. PHP 5.0.0부터는 libcurl 버전 7.10.5 이상을 설치해야 합니다.
Installation
PHP의 cURL 지원을 사용하려면 PHP를 컴파일할 때 --with-curl[=DIR] 옵션을 추가해야 합니다. DIR은 lib 및 include가 포함된 디렉터리 경로입니다. include 디렉터리에 easy.h와 cur.h를 포함하는 컬이라는 폴더가 있어야 합니다. lib 폴더에 libcurl.a라는 파일이 있어야 합니다. PHP 4.3.0의 경우 --with-curlwrappers를 구성하여 cURL이 URL 스트림을 사용하도록 할 수 있습니다.
주의: Win32 사용자는 주의하세요
Windows 환경에서 이 모듈을 사용하려면 libeay32.dll, ssleay32.dll이 PATH 환경 변수에 포함된 디렉터리에 있어야 합니다. cURL 웹사이트의 libcurl.dll을 사용하지 마세요.
리소스 유형
이 확장 프로그램은 cURL 핸들과 cURL 배치 핸들이라는 두 가지 리소스를 정의합니다.
PHP cURL 함수
다음에는 PHP cURL 함수 목록이 포함되어 있습니다.
Function | Description |
---|---|
curl_close() | cURL 세션을 닫습니다. |
curl_copy_handle() | cURL 핸들과 모든 옵션을 복사합니다. |
curl_errno() | 마지막 오류 번호를 반환합니다. |
curl_error() | 현재 세션의 최신 오류를 보호하는 문자열을 반환합니다. |
curl_escape() | 주어진 문자열을 인코딩하는 URL, 이스케이프된 문자열을 반환합니다. |
curl_exec() | cURL 세션을 실행합니다. |
curl_file_create() | CURLFile 객체를 생성합니다. |
curl_getinfo() | cURL 연결 리소스 핸들에 대한 정보를 가져옵니다. |
curl_init() | cURL 세션을 초기화합니다. |
curl_multi_add_handle() | 컬 일괄 세션에 개별 컬 핸들을 추가합니다. |
curl_multi_close() | cURL 핸들 그룹을 닫습니다. |
curl_multi_exec() | 현재 cURL 핸들의 하위 연결을 실행합니다. |
curl_multi_getcontent() | CURLOPT_RETURNTRANSFER가 설정된 경우 얻은 출력의 텍스트 스트림을 반환합니다. |
curl_multi_info_read() | 현재 구문 분석된 cURL의 관련 전송 정보를 가져옵니다. |
curl_multi_init() | 새 cURL 배치 핸들을 반환합니다. |
curl_multi_remove_handle() | curl 배치 핸들 리소스에서 특정 핸들 리소스를 제거합니다. |
curl_multi_select() | cURL 배치에서 모든 활성 연결을 기다립니다. |
curl_multi_setopt() | 일괄 cURL 전송 옵션을 설정합니다. |
curl_multi_strerror() | 오류 코드를 설명하는 문자열 텍스트를 반환합니다. |
curl_pause() | 연결을 일시 중지했다가 다시 시작하세요. |
curl_reset() | libcurl 세션 핸들의 모든 옵션을 재설정합니다. |
curl_setopt_array() | cURL 전송 세션에 대한 옵션을 대량으로 설정합니다. |
curl_setopt() | cURL 전송 옵션을 설정하세요. |
curl_share_close() | cURL 공유 핸들을 닫습니다. |
curl_share_init() | cURL 공유 핸들을 초기화합니다. |
curl_share_setopt() | 공유 핸들에 대한 cURL 전송 옵션을 설정합니다. |
curl_strerror() | 오류 코드에 대한 문자열 설명을 반환합니다. |
curl_unescape() | URL로 인코딩된 문자열을 디코딩합니다. |
curl_version() | cURL 버전 정보를 가져옵니다. |