Difference between revisions of "Receive JSON POST Data"

From Michael's Information Zone
Jump to navigation Jump to search
Line 22: Line 22:
 
file_put_contents($myFile,$data);
 
file_put_contents($myFile,$data);
 
?>
 
?>
 +
</pre>
 +
==Testing==
 +
Used the following POST method with curl to test with.
 +
<pre>
 +
curl -X POST -H "Content-Type: application/json" --data '{"test":"1"}' http://localhost
 
</pre>
 
</pre>

Revision as of 15:52, 26 July 2018

Purpose

Request came across my desk for a web server to receive JSON POST data, providing web hooks for a business analyst to parse. On my end things were simple enough.

  1. Simple Apache server to receive requests.
  2. Basic Authentication
  3. Save the POST data to file (For now, but I feel this will be expanded in the near future)

Process

[1][2]This example will echo the posted data back to the client during testing, as well as save the file to disk.

<?php
$myFile = "testFile.txt";
$data = file_get_contents('php://input');
echo $data;
file_put_contents($myFile,$data);
?>

To further build on this, and to keep track of the received hooks, I wanted to add a date/time stamp to the file[3].

<?php
$today = date("mdY_His");
$myFile = "testFile_$today.txt";
$data = file_get_contents('php://input');
file_put_contents($myFile,$data);
?>

Testing

Used the following POST method with curl to test with.

curl -X POST -H "Content-Type: application/json" --data '{"test":"1"}' http://localhost