0

だから私はこのようなサイトにログインしました:

    $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
4

1 に答える 1

1

これを追加してみてください:

curl_setopt($ch1, CURLOPT_SSL_VERIFYHOST, FALSE);

また:

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

出力が何であるかを確認します。デバッグの開始点になります。

アップデート

追加:

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

ログイン情報を保存し、他のリクエストで再利用します。エラーは、2 番目のリクエストが認証されていないことを示しています。そのため、最初のログイン シーケンスによって返された変数を引き継ぐ必要がない限り、最初にログイン用の Cookie を設定すると仮定します。

およびinを削除\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);

それを読んで。それは十分に明らかです。

于 2014-02-25T15:56:23.410 に答える