메뉴 닫기

php curl 간단한 예제

php curl 의 가장 간단한 예제와 옵션들을 알아보겠습니다.

CURL 이란  ?

Curl 은 PHP 를 사용하여 HTTP 요청과 응답을 보내고 받을 수 있는 라이브러리입니다.

HTTP에 요청 할 때

헤더 , 바디(데이터) 를 설정하고

쿠키를 처리하는 인터페이스를 제공합니다.

 

php curl 의 간단한 예제 입니다.

url 단순 호출 (get 요청)

<?php
// curl 생성
$ch = curl_init();

//url 추가
curl_setopt($ch, CURLOPT_URL, “https://www.example.com”);

//curl 실행
$result = curl_exec($ch); //$result에 요청 결과 저장

// curl 종료
curl_close($ch);

?>

 

post 요청

<?php

$data = array ( ‘apple’ , ‘banana’ ); //POST 전송할 데이터

// curl 생성
$ch = curl_init();

//url 추가
curl_setopt($ch, CURLOPT_URL, “https://www.example.com”);

//POST $data 추가

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

//curl 실행
curl_exec($ch);

// curl 종료
curl_close($ch);

?>

php curl 옵션

*curl_exec($ch) 실행 이전에 curl_setopt ( ) 를 통해 여러 옵션을 넣을 수 있습니다.

curl_setopt ($ch , 옵션종류 , 옵션 값 );

 

cURL을 사용할 때 주로 사용되는 curl_setopt 함수의 옵션은 다음과 같습니다.

 

CURLOPT_URL :         HTTP 요청을 보낼 URL을 설정합니다.

curl_setopt($ch, CURLOPT_URL, ‘https://example.com/api/data’);옵션값 url
 

CURLOPT_RETURNTRANSFER :         서버 응답을 문자열로 반환하는지 여부를 설정합니다. 이 옵션을 사용하지 않으면 curl_exec() 함수가 true/false 값을 반환합니다.

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 옵션값 true/false
 

CURLOPT_HTTPHEADER :         HTTP 요청에 포함할 헤더를 설정합니다. 배열 형태로 전달됩니다.

$headers = array( ‘Content-Type: application/json’, ‘Authorization: Bearer xxxxxxxx’ );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 옵션값 주로 array
 

CURLOPT_POST :         HTTP POST 요청을 보낼지 여부를 설정합니다.

curl_setopt($ch, CURLOPT_POST, true); 옵션값 true/false
 

CURLOPT_POSTFIELDS :         HTTP POST 요청 시 전송할 데이터를 설정합니다. 배열 또는 URL-encoded 문자열을 전달할 수 있습니다.

$data = array( ‘name’ => ‘John Doe’, ’email’ => ‘johndoe@example.com’ ); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); 옵션값  http_build_query / array
http_build_query($data) 결과 : foo=John+Doe&email=johndoe@example.com
 

CURLOPT_SSL_VERIFYHOST :         서버 SSL 인증서 호스트 이름 확인 여부를 설정합니다.

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 옵션값 true/false
 

CURLOPT_SSL_VERIFYPEER :         서버 SSL 인증서 확인 여부를 설정합니다.

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  옵션값 true/false
 

CURLOPT_FOLLOWLOCATION :         서버에서 리다이렉션 응답이 오면 자동으로 따르도록 설정합니다.

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 옵션값 true/false

CURLOPT_TIMEOUT :         서버 응답 대기 시간 제한을 설정합니다. 초 단위로 전달됩니다.

curl_setopt($ch, CURLOPT_TIMEOUT, 30); 옵션값 숫자
 
이 외에도 다양한 옵션이 있으며, 상황에 따라 필요한 옵션을 선택하여 사용할 수 있습니다.
php curl 에 대해 알아봤습니다.
 
php curl 대체하는 함수로 file_get_contents를 사용 할 수 있지만 주로 curl 이 선호 됩니다.
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x