라이브러리

[PHP] curl_setopt_array - cURL 전송에 대한 여러 옵션 설정




Curl_setopt_array() 함수

Curl_setopt_array() 함수는 PHP에서 HTTP 요청을 보내기 위해 사용하는 함수입니다. 이 함수는 이전 버전의 PHP에서 사용하던 Curl_setopt() 함수를 대체하기 위해 만들어졌습니다. Curl_setopt_array() 함수는 여러 옵션을 한 번에 설정할 수 있기 때문에 더 편리하고 효율적입니다.

Curl_setopt_array() 함수의 매개변수

Curl_setopt_array() 함수의 매개변수는 다음과 같습니다.

- `$ch`: curl_init() 함수를 사용하여 생성한 curl 핸들입니다.
- `$options`: 설정할 옵션을 포함하는 배열입니다.

Curl_setopt_array() 함수의 옵션

Curl_setopt_array() 함수의 옵션은 다음과 같습니다.

- `CURLOPT_URL`: 요청할 URL을 설정합니다.
- `CURLOPT_RETURNTRANSFER`: 요청 결과를 문자열로 반환할지 여부를 설정합니다. 기본값은 false입니다.
- `CURLOPT_HEADER`: 요청 헤더를 포함할지 여부를 설정합니다. 기본값은 false입니다.
- `CURLOPT_RETURNTRANSFER`: 요청 결과를 문자열로 반환할지 여부를 설정합니다. 기본값은 false입니다.
- `CURLOPT_POST`: POST 요청을 보내는지 여부를 설정합니다. 기본값은 false입니다.
- `CURLOPT_POSTFIELDS`: POST 요청에 포함할 데이터를 설정합니다.
- `CURLOPT_HTTPHEADER`: 요청 헤더를 설정합니다.
- `CURLOPT_TIMEOUT`: 요청 시간을 설정합니다.
- `CURLOPT_TIMEOUT_MS`: 요청 시간을 설정합니다. (PHP 5.5.0 이상)
- `CURLOPT_POSTFIELDS`: POST 요청에 포함할 데이터를 설정합니다.
- `CURLOPT_RETURNTRANSFER`: 요청 결과를 문자열로 반환할지 여부를 설정합니다. 기본값은 false입니다.

예제

다음 예제는 Curl_setopt_array() 함수를 사용하여 GET 요청을 보내는 방법을 보여줍니다.

#hostingforum.kr
php

<?php

$url = 'https://example.com/api/data';



$ch = curl_init($url);

curl_setopt_array($ch, array(

    CURLOPT_RETURNTRANSFER => true,

    CURLOPT_HEADER => false,

    CURLOPT_HTTPHEADER => array(

        'Content-Type: application/json',

        'Authorization: Bearer YOUR_API_KEY'

    )

));



$response = curl_exec($ch);

curl_close($ch);



echo $response;

?>



이 예제에서는 `curl_setopt_array()` 함수를 사용하여 GET 요청을 보내고, 요청 결과를 문자열로 반환합니다. 또한 요청 헤더를 설정하고, API 키를 포함합니다.

POST 요청 예제

다음 예제는 Curl_setopt_array() 함수를 사용하여 POST 요청을 보내는 방법을 보여줍니다.

#hostingforum.kr
php

<?php

$url = 'https://example.com/api/data';



$data = array(

    'name' => 'John Doe',

    'age' => 30

);



$ch = curl_init($url);

curl_setopt_array($ch, array(

    CURLOPT_RETURNTRANSFER => true,

    CURLOPT_POST => true,

    CURLOPT_POSTFIELDS => json_encode($data),

    CURLOPT_HTTPHEADER => array(

        'Content-Type: application/json'

    )

));



$response = curl_exec($ch);

curl_close($ch);



echo $response;

?>



이 예제에서는 `curl_setopt_array()` 함수를 사용하여 POST 요청을 보내고, 요청 데이터를 JSON 형식으로 설정합니다. 또한 요청 헤더를 설정합니다.

에러 처리 예제

다음 예제는 Curl_setopt_array() 함수를 사용하여 GET 요청을 보내는 방법과 에러 처리 방법을 보여줍니다.

#hostingforum.kr
php

<?php

$url = 'https://example.com/api/data';



$ch = curl_init($url);

curl_setopt_array($ch, array(

    CURLOPT_RETURNTRANSFER => true,

    CURLOPT_HEADER => false

));



try {

    $response = curl_exec($ch);

    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    curl_close($ch);



    if ($httpCode == 200) {

        echo $response;

    } else {

        throw new Exception('HTTP Error: ' . $httpCode);

    }

} catch (Exception $e) {

    echo 'Error: ' . $e->getMessage();

}

?>



이 예제에서는 `curl_setopt_array()` 함수를 사용하여 GET 요청을 보내고, 요청 결과를 문자열로 반환합니다. 또한 HTTP 코드를 확인하고, 에러가 발생한 경우 예외를 발생시킵니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 633 페이지

검색

게시물 검색