Home > Backend Development > PHP Tutorial > How to Send JSON POST Requests in PHP using CURL?

How to Send JSON POST Requests in PHP using CURL?

Mary-Kate Olsen
Release: 2024-11-13 12:27:02
Original
662 people have browsed it

How to Send JSON POST Requests in PHP using CURL?

Making JSON POST Requests in PHP

Sending POST requests with JSON data is a common task in web development. In PHP, CURL is an excellent library for handling these requests.

Example Code

The following PHP code demonstrates how to send a JSON POST request using CURL:

$url = "your url";
$content = json_encode("your data to be sent");

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,
        array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);

$json_response = curl_exec($curl);

$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);

if ( $status != 201 ) {
    die("Error: call to URL $url failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl));
}

curl_close($curl);

$response = json_decode($json_response, true);
Copy after login

Explanation of the Code

  • curl_init() initializes a CURL session.
  • curl_setopt() sets various options for the session, such as:

    • CURLOPT_HEADER: Disable header output.
    • CURLOPT_RETURNTRANSFER: Return the response as a string instead of echoing it.
    • CURLOPT_HTTPHEADER: Set the "Content-type" header to "application/json".
  • curl_setopt() sets the POST parameters.
  • curl_exec() executes the CURL request.
  • curl_getinfo() retrieves the HTTP status code.
  • curl_close() closes the CURL session.

If the HTTP status code is not 201 (Created), an error is thrown.

  • json_decode() parses the JSON response.

The above is the detailed content of How to Send JSON POST Requests in PHP using CURL?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template