RAW POST using cURL in PHP
I just found the solution, kind of answering to my own question in case anyone else stumbles upon it.
$ch = curl_init();curl_setopt($ch, CURLOPT_URL, "http://url/url/url" );curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt($ch, CURLOPT_POST, 1 );curl_setopt($ch, CURLOPT_POSTFIELDS, "body goes here" ); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain')); $result=curl_exec ($ch);
Implementation with Guzzle library:
use GuzzleHttp\Client;use GuzzleHttp\RequestOptions;$httpClient = new Client();$response = $httpClient->post( 'https://postman-echo.com/post', [ RequestOptions::BODY => 'POST raw request content', RequestOptions::HEADERS => [ 'Content-Type' => 'application/x-www-form-urlencoded', ], ]);echo( $response->getBody()->getContents());
PHP CURL extension:
$curlHandler = curl_init();curl_setopt_array($curlHandler, [ CURLOPT_URL => 'https://postman-echo.com/post', CURLOPT_RETURNTRANSFER => true, /** * Specify POST method */ CURLOPT_POST => true, /** * Specify request content */ CURLOPT_POSTFIELDS => 'POST raw request content',]);$response = curl_exec($curlHandler);curl_close($curlHandler);echo($response);