1

Microsoft Exchange Server [バージョン 2013]にあるユーザー プロファイルの写真を取得しようとしています。

以下のURLを使用して写真を見ることができます[例] :

https://companydomain.com/owa/service.svc/s/GetPersonaPhoto?email=user1%40companydomain.com&size=HR96x96&sc=1464941029314

要件:

すべての企業ユーザーのプロフィール写真をフォルダーにダウンロードする。

私はこれまでに何をしてきましたか?

Php CURLを使用してスクリプトを作成する

<?php 
    $user = 'user1@companydomain.com';
    $password = 'XXXXXXX';
    $fullurl="https://companydomain.com/owa/service.svc/s/GetPersonaPhoto?email=user1%40companydomain.com&size=HR96x96&sc=1464941029314";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_FAILONERROR, 0);
    curl_setopt($ch, CURLOPT_USERPWD, "$user:$password");
    curl_setopt($ch, CURLOPT_URL, $fullurl);
    $returned = curl_exec($ch);
    curl_close ($ch);

出力: 以下 を含むページ:オブジェクトはここに移動しました。テキストとして、「ここ」のリンクをクリックすると、Microsoft Outlook のログイン ページに移動します。

希望のアウトプットを得るのを手伝ってください。何が欠けているのか教えてください。

前もって感謝します

4

1 に答える 1

0

提供した URL にリダイレクト (301 または 302) されているようです。私は解決策を提供できます.qhichは、必要な画像である「ターゲット」-URLを提供します。

    function get_web_page( $url ) 
{ 
    $options = array( 
        CURLOPT_RETURNTRANSFER => true,     // return web page 
        CURLOPT_HEADER         => true,    // return headers 
        CURLOPT_FOLLOWLOCATION => true,     // follow redirects 
        CURLOPT_ENCODING       => "",       // handle all encodings 
        CURLOPT_USERAGENT      => "boss", // who am i 
        CURLOPT_AUTOREFERER    => true,     // set referer on redirect 
        CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect 
        CURLOPT_TIMEOUT        => 120,      // timeout on response 
        CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects 
    ); 

    $ch      = curl_init( $url ); 
    curl_setopt_array( $ch, $options ); 
    $content = curl_exec( $ch ); 
    $err     = curl_errno( $ch ); 
    $errmsg  = curl_error( $ch ); 
    $header  = curl_getinfo( $ch ); 
    curl_close( $ch ); 

    //$header['errno']   = $err; 
   // $header['errmsg']  = $errmsg; 
    //$header['content'] = $content; 
    print($header[0]); 
    return $header; 
}  
$thisurl = "http://www.example.com/redirectfrom";
$myUrlInfo = get_web_page( $thisurl ); 
echo $myUrlInfo["url"];

今すぐhttp://www.example.com/redirecttoを取得する必要があります

于 2016-06-07T11:53:28.107 に答える