Sorenson 360 API call with cURL+PHP returning false
I'm trying to access the Sorenson-360 API with cURL and PHP, however I am not able to authenticate with their API.
The code I'm using is:
$postURL = "https://360services.sorensonmedia.com/sessions";
$postVars = "username=".$username."&password=".$password;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $postURL);
var_dump($c);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_HEADER, 0);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, $postVars);
$content = curl_exec($c);
var_dump($content);
//echo $content;
curl_close($c);
My response printed out on the page is:
resource(4) of type (curl) string(1) " "
The API documention I am trying to use is here: http://developers.sorensonmedia.com/api/accounts/login
A similar post on StackOverflow that yeilded no solution other than to use zend (which I don't have nor understand) was posted here: PHP: posting data 开发者_StackOverflowto REST API (Sorenson 360)
I don't have access to install anything on my server and the Zend getting started documentation is not clicking with me. I would prefer to use cURL for this as I'm somewhat familiar with it.
There're several problems in your code:
- in
curl_setopt($ch, CURLOPT_URL, POSTURL);
you should change$ch
variable to$c
- security certificate of the site you're connecting to is not trusted. To disable this check you need to add
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
- finally, why do you need to define constants for url and post parameters? What's wrong with good old PHP variables?
Upd:
For debugging purposes, I suggest that you turn on the CURLOPT_HEADER
option:
curl_setopt($c, CURLOPT_HEADER, true);
If you get HTTP/1.1 500 Internal Server Error
for response, something is wrong with the service you're calling, not with your code.
精彩评论