들어가며
지난 포스팅에 이어 오늘도 php관련 내용을 포스팅 해보려고 합니다.
php로 웹상(원격)에 있는 파일을 가져오는 많은 방법이 있지만,
그 중에서도 cURL 라이브러리를 이용하는 방법이 있습니다.
cURL 라이브러리가 무엇이고, 내장 함수의 종류에 대해 알아보도록 하겠습니다.
cURL(Client URL Library)
- 커맨드라인에서 url 문법을 사용하여 데이터를 전송하는데 사용됩니다.
- 오픈 소스 소프트웨어이며, 현재 기준 2018년 5월 16일에 출시된 버전이 최근버전입니다. (github에서 확인할 수 있습니다.)
- 간단한 라이브러리로, 4가지 정도의 함수만 사용해도 이용할 수 있습니다.
1. curl_ini 함수를 이용해 cURL 세션을 생성한다.2. curl_setopt 함수를 이용해 옵션을 셋팅한다.
3. curl_exec 함수를 이용해 실제 http통신을 한다. (cURL 세션 수행)
4. curl_close로 cURL 세션을 닫는다.
함수목록
함수명 |
기능 |
curl_close |
cURL 세션을 닫고 모든 자원을 해제합니다. |
curl_copy_handle |
동일한 기본 설정을 유지하면서 cURL 핸들을 복사합니다. |
curl_errno |
마지막 cURL 작업의 오류 번호를 반환합니다. |
curl_error |
마지막 cURL 작업에 대한 일반 텍스트 오류 메시지를 반환합니다. |
curl_escape |
주어진 문자열을 인코딩합니다. |
curl_exec |
cURL 세션을 수행합니다. |
curl_file_create |
cURL File 객체를 생성합니다. |
curl_getinfo |
상태정보를 리턴합니다. |
curl_init |
새로운 세션을 초기화하고 curl_setopt(), curl_exec() 및 curl_close() 함수와 함께 사용할 cURL 핸들을 반환합니다. |
curl_multi_add_handle |
일반 cURL 핸들을 cURL 멀티 핸들에 추가합니다. |
curl_pause |
연결 일시 중지 및 일시 중지 해제 |
curl_reset |
cURL 핸들에 설정된 모든 옵션을 기본값으로 다시 초기화합니다. |
curl_setopt_array |
cURL 세션에 대한 여러 옵션을 설정합니다. 이 함수는 curl_setopt()를 반복적으로 호출하지 않고 많은 수의 cURL 옵션을 설정하는데 유용합니다. |
curl_setopt |
주어진 cURL 세션 핸들에 대한 옵션을 설정합니다. |
curl_strerror |
지정된 에러 코드를 설명하는 텍스트 에러 메세지를 리턴합니다. |
curl_unescape |
이 함수는 주어진 URL 인코딩 된 문자열을 디코딩합니다. |
curl_version |
cURL 버전에 대한 정보를 반환합니다. |
기초사용법
<?php
// 세션을 생성한다.
$ch = curl_init();
// url을 설정한다.
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
// 세션을 실행한다.
curl_exec($ch);
// 세션을 닫습니다.
curl_close($ch);
?>
php에서 curl은 많이 사용하실겁니다.
curl은 순차적으로 처리를 하고, 하나의 과정이 끝나야 다음 과정으로 넘어가는 직렬방식이기 때문에
다수개를 사용할 경우 많은 시간이 소요될 수 있습니다.
이러한 단점을 극복하기 위해 curl_multi가 나왔다고 합니다.
자세한 내용은 아래 링크에서 확인하실수 있으니 참고부탁드리겠습니다.
http://php.net/manual/en/function.curl-multi-exec.php
'현대리가 생각하는 IT' 카테고리의 다른 글
HTTP Request Header (0) | 2018.07.05 |
---|---|
DNS서버(Domain Name Server) 와 호스트(hosts) 파일 (0) | 2018.06.28 |
Ruby 버전 및 rbenv 설치하기 (0) | 2018.06.21 |
PHP 스타일 가이드 (Style Guide) - PSR (0) | 2018.06.20 |