First off, iam quite new with both PHP and cURL
From the command:
curl -i 'http://xxx:xxx/v2.0/tokens' -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"auth": {"tenantName": "xxx", "passwordCredentials": {"username": "admin", "password": "xxx"}}}'
I want to produce the results of this command using POST/GET and PHP. I have an apache server and working url.
I just dont know how to make a working code that takes the code and produce the output to an empty page using PHP.
I have been searching examples and I know you got to make use of some of the following:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "");
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, '');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>
I just dont know how to attach the proper flags from the cURL command to the PHP code, probably missing a few vital things aswell to wrap the code up.
Thanks in advance and sorry if I could not explain the my problem good enough.
** ***EDIT:* ****
So I made a code, that works for my needs, it produces a raw result from the cURL command on a PHP page. Here is the code:
<?php
$request_body = '{"auth": {"tenantName": "xxx", "passwordCredentials": {"username": "admin", "password": "xxx"}}}';
$ch = curl_init('http://xxx:xxx/v2.0/tokens');
curl_setopt($ch, CURLOPT_POSTFIELDS, $request_body);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
$response = curl_exec($ch);
var_dump($response);
?>
Question now if I can manipulate the output to display in a better fashion, right now its just a big string, some form of JSON pretty print would be amazing.
Read more about curl exec (http://www.php.net/manual/en/function.curl-exec.php)
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "");
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, '');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
print $data;
?>
The data is returned from the curl_exec command.
Whilst on a different subject, perhaps Uploading files to Zoho API with PHP Curl, a question I posted here recently which contains a Curl class example will help you.
In addition, I suggest you read the manual pages for the PHP curl methods e.g. the curl_exec page - the comments sections often include implementation suggestions.