Using curl_setopt() in PHP: Syntax, Parameters, Return Value, and Example

This article explains the PHP cURL extension’s curl_setopt() function, covering its syntax, parameter meanings, boolean return value, and provides a complete example that demonstrates sending a GET request, handling responses, and closing the cURL session.

php Courses
php Courses
php Courses
Using curl_setopt() in PHP: Syntax, Parameters, Return Value, and Example

cURL is a powerful PHP extension for sending and receiving HTTP requests, and the curl_setopt() function is essential for configuring a cURL session.

Syntax

The syntax of curl_setopt() is:

bool curl_setopt ( resource $ch , int $option , mixed $value )

Parameter Explanation

$ch

: the cURL handle created by curl_init(). $option: the cURL option to set. $value: the value for the option.

Return Value

The function returns a boolean indicating whether the option was set successfully.

Example

The following example uses curl_setopt() to send a GET request to a specified URL and retrieve the response:

// Initialize cURL session
$ch = curl_init();

// Set the URL to request
curl_setopt($ch, CURLOPT_URL, "https://api.example.com/data");

// Set request method to GET
curl_setopt($ch, CURLOPT_HTTPGET, true);

// Return the response as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Set timeout
curl_setopt($ch, CURLOPT_TIMEOUT, 30);

// Execute the request
$response = curl_exec($ch);

// Check for failure
if ($response === FALSE) {
    echo "Request failed: " . curl_error($ch);
} else {
    // Process response data
    echo $response;
}

// Close the cURL session
curl_close($ch);

Explanation

The script first creates a cURL handle with curl_init(), then sets several options with curl_setopt(), including CURLOPT_URL, CURLOPT_HTTPGET, CURLOPT_RETURNTRANSFER, and CURLOPT_TIMEOUT. It executes the request using curl_exec(), handles errors with curl_error(), and finally closes the session with curl_close().

Summary

The curl_setopt() function is a key part of the PHP cURL extension, allowing developers to configure various aspects of an HTTP request such as URL, method, timeout, and response handling.

Java learning material

C language learning material

Frontend learning material

C++ learning material

PHP learning material

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

cURLapi-requestcurl_setoptphp-tutorial
php Courses
Written by

php Courses

php中文网's platform for the latest courses and technical articles, helping PHP learners advance quickly.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.