2014-02-25 32 views
0

捲曲獲取XML所以我做了這樣一個登錄網站:與HTTPS

$ch = curl_init('https://emea2cps.adobeconnect.com/api/xml?action=login&login=username&password=password'); 
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); 
    curl_setopt($ch, CURLOPT_SSLVERSION,3); 
    curl_exec($ch); 
    $info= curl_getinfo($ch); 
    echo 'passed' . $info['total_time'] . ' secconds ' . $info['url'] . '------ and http-code'. $info['http_code']; 
    print curl_error($ch); 

後,我想通過這個鏈接https://meet77842937.adobeconnect.com/api/xml?action=report-my-meetings

我嘗試下面的代碼來獲取我的會議XML:

$ch1 = curl_init('https://meet77842937.adobeconnect.com/api/xml?action=report-my-meetings'); 
    curl_setopt($ch1,CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch1, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); 
    curl_setopt($ch1, CURLOPT_SSLVERSION,3); 
    curl_setopt($ch1,CURLOPT_RETURNTRANSFER,TRUE); 
    $data = curl_exec($ch1); 
    $info1= curl_getinfo($ch1); 
    echo 'passed' . $info1['total_time'] . ' secconds ' . $info1['url'] . '------ and http-code'. $info1['http_code']; 
    print curl_error($ch1); 
    curl_close($ch1); 
      curl_close($ch); 
    $xml = new SimpleXMLElement($data); 
    print_r($xml); 

你能告訴我什麼?

注意:我可以看到XML當我輸入瀏覽器的

此鏈接

結構

<results> 
    <status code="ok"></status> 
    <my-meetings> 
    <meeting sco-id="1282590819" type="meeting" icon="meeting" permission-id="host" active-participants="0"> 
    <meeting sco-id="1282620938" type="meeting" icon="meeting" permission-id="host" active-participants="0"> 
    </my-meetings> 

</results> 

輸出: 像這樣爲前:

sample1aksamaimeet77842937.adobeconnect.com/sample1/2014-02-28T06:15:00.000-08:002014-02-28T07:15:00.000-08:00false01:00:00.000sample2meet77842937.adobeconnect.com/sample2/2014-02-28T06:15:00.000-08:002014-02-28T07:15:00.000-08:00false01:00:00.000 
+0

您的預期產出是多少? –

+0

@ShankarDamodaran,我編輯過問題。你可以看到結構和輸出 – nurgasemetey

回答

1

嘗試添加:

curl_setopt($ch1, CURLOPT_SSL_VERIFYHOST, FALSE); 

另外:

$data = curl_exec($ch1); // after this line 
var_dump(htmlentities($data)); // add this one 

看看有什麼輸出。它會給你一個調試的起點。

UPDATE

地址:

curl_setopt($ch, CURLOPT_COOKIEFILE, __DIR__.'/cookies'); 
curl_setopt($ch, CURLOPT_COOKIEJAR, __DIR__.'/cookies'); 
// repeat this for all $ch, $ch1, $ch2 and such where you need auth cookie available 

存儲登錄信息和其他請求重用。您的錯誤顯示您的第二個請求未經驗證。所以我假設第一個爲登錄設置一個cookie,除非您需要繼承第一個登錄序列返回的變量。

AND刪除password\中的\。你的密碼有一個額外的字符,不應該在那裏!

工作代碼

// Login. 
$ch = curl_init('https://emea2cps.adobeconnect.com/api/xml?action=login&login=username&password=password'); 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch,CURLOPT_COOKIEFILE, __DIR__.'/cookies'); 
curl_setopt($ch,CURLOPT_COOKIEJAR, __DIR__.'/cookies'); 
$data = curl_exec($ch); 
var_dump($data); 
curl_close($ch); 

// Query. 
$ch = curl_init('https://meet77842937.adobeconnect.com/api/xml?action=report-my-meetings'); 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch,CURLOPT_COOKIEFILE, __DIR__.'/cookies'); 
curl_setopt($ch,CURLOPT_COOKIEJAR, __DIR__.'/cookies'); 
$data = curl_exec($ch); 
var_dump($data); 
curl_close($ch); 

閱讀。這很清楚。

+0

** string'<?xml version =「1.0」encoding =「utf-8」?> '(length = 104)**此消息針對** var_dump **給出,但我已成功登錄帳戶的第一部分代碼 – nurgasemetey

+0

您尚未登錄。如果登錄有效使用Cookie,您需要一個'CURLOPT_COOKIEFILE'來存儲登錄數據。 – CodeAngry

+0

因此我將cookie存儲到某個文件中,如何在獲取xml後使用它? – nurgasemetey