본문으로 바로가기
링크허브 공식블로그

연동이 쉬워진다

링크허브 공식블로그

현대리가 생각하는 IT

cURL(Client URL Library)

들어가며

지난 포스팅에 이어 오늘도 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






 

  • Today
  • Total