다음은 PHP에서 컬링을 사용하여 처리 한 방법입니다. 컬의 외부에 의존성이 없어도 간단합니다.
Exchange 2013 서버에 대해 테스트되었습니다. 파일에 직접 저장합니다.
$server = ''; // owa.whatever.com, etc.
$user = ''; // username without domain info
$password = '';
$email_to_get = ''; // Email to pull photo
$fullurl = "https://$server/ews/Exchange.asmx/s/GetUserPhoto?email=$email_to_get&size=HR648x648"; //sizes defined at https://msdn.microsoft.com/en-us/library/jj194329(v=exchg.80).aspx
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $fullurl);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM | CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$user:$password");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$returned = curl_exec($ch);
$fp = fopen("pic.jpg", 'w'); // Save picture locally to .jpg
fwrite($fp, $returned);
fclose($fp);
header('Content-type: image/jpeg');
echo $returned; // Display the image on the page if desired
안녕하세요 그렉. 위대한 스크립트,하지만 질문이 있습니다 - 귀하의 스크립트는 여기에 사진을 열거 나 일부 변수에서 필요한 사진을 추출합니까? $ server = "bagira.bam.loc", $ user = "user", $ password = "password", $ email_to_get = "[email protected]"(처음에는 두 개의 세미콜론을 추가했습니다.)하지만 아무것도 (스크립트의 오류 없음) 스크립트가 뭔가를하지만 이해할 수 없다 :). –
아, 내 정보를 삭제했을 때 세미콜론을 간과했다. 나는 그것을 포스트에서 바로 잡을 것이다. –
Oleg, 사진 데이터가 $ return에 반환됩니다. 그래서 fwrite를 사용하여 파일에 기록합니다. print_r ($ 반환); 웹 페이지 자체에 가면 바이너리 데이터를 볼 수 있습니다 (처음 몇 개 항목에서는 JPG 용 JFIF가 필요합니다). w가 파일을 덮어 쓰거나 만들 때 x 대신 w를 사용하도록 fopen을 변경했으며 x는 파일을 만 만듭니다. –