Вызов API Sorenson 360 с cURL + PHP, возвращающий false - PullRequest
0 голосов
/ 17 марта 2011

Я пытаюсь получить доступ к API-интерфейсу Sorenson-360 с помощью cURL и PHP, однако не могу пройти проверку подлинности с помощью их API.

Код, который я использую:

$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);

Мой ответ напечатан на странице:

ресурс (4) типа (curl) string (1) ""

Документация по API, которую я пытаюсь использовать, находится здесь: http://developers.sorensonmedia.com/api/accounts/login

Похожий пост в StackOverflow, в котором не было найдено иного решения, кроме использования zend (чего я не знаю и не понимаю), был размещен здесь: PHP: публикация данных в REST API (Sorenson 360)

У меня нет доступа для установки чего-либо на моем сервере, и документация по началу работы с Zend мне не подходит. Я бы предпочел использовать для этого cURL, так как я немного знаком с ним.

1 Ответ

1 голос
/ 17 марта 2011

В вашем коде есть несколько проблем:

  1. в curl_setopt($ch, CURLOPT_URL, POSTURL); вы должны изменить $ch переменную на $c
  2. сертификат безопасности сайта, на котором вы находитесьподключение к не является доверенным.Чтобы отключить эту проверку, вам необходимо добавить curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
  3. , наконец, зачем вам определять константы для параметров url и post?Что не так со старыми добрыми переменными PHP?

Upd:

В целях отладки я предлагаю включить опцию CURLOPT_HEADER:

curl_setopt($c, CURLOPT_HEADER, true);

Если вы получите HTTP/1.1 500 Internal Server Error за ответ, что-то не так с услугой, которую вы вызываете, а не с вашим кодом.

...