2011-03-17 91 views
0

我試圖用cURL和PHP訪問Sorenson-360 API,但是我無法使用它們的API進行身份驗證。使用cURL + PHP的Sorenson 360 API調用返回false

我使用的代碼是:

$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)的類型(捲曲)串(1) 「」

我想使用的API機制的文檔是在這裏: http://developers.sorensonmedia.com/api/accounts/login

類似的帖子在計算器上那個yeilded沒有其他比使用Zend的(我沒有,也不明白)溶液張貼在這裏: PHP: posting data to REST API (Sorenson 360)

我沒有訪問我的服務器和上安裝任何東西Zend入門文檔沒有點擊我。我更喜歡使用cURL,因爲我有點熟悉它。

回答

1

還有就是在你的代碼的幾個問題:

    curl_setopt($ch, CURLOPT_URL, POSTURL);
  1. 你應該$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的反應,什麼是錯的服務你」重新呼叫,而不是與您的代碼。

+0

感謝您的回答..我仍然無法成功連接到他們的API。在第一篇文章 – 2011-03-17 18:37:20

+0

添加頁眉的新代碼和錯誤顯示500內部服務器錯誤......我轉發它自己的工程部。我一直在與誰聯繫以解決問題。感謝您的幫助。 – 2011-03-17 19:39:02

+0

@不客氣:) – Vika 2011-03-17 19:42:02