我正在尝试从位于远程主机上的 Microsoft Dynamics CRM 2011 Online 中提取一些数据;如果我手动(从浏览器)登录并从在 Linux 主机上运行 PHP 的服务器执行我的,它可以工作,但我当然想在没有我的调解的情况下进行身份验证和运行 CRUD 操作:)。
但它一直向我显示“对象已移至此处”。认证页面。如果我设置 CURLOPT_FOLLOWLOCATION => 1,它会显示 crm 的登录页面。
如果有人可以提出解决问题的任何线索...谢谢!
<?php
$useragent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1";
$urlValue = "/LeadSet?$select=Address1_City,FirstName,LastName";
$username = "domain\user";
$pass = "pass";
$handle = curl_init();
curl_setopt_array($handle,
array (
CURLOPT_USERAGENT => $useragent,
CURLOPT_USERPWD => $username . ':' . $pass,
CURLOPT_HTTPAUTH => CURLAUTH_ANY,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_URL => 'https://myhost.com/xrmservices/2011/OrganizationData.svc',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $urlValue,
CURLOPT_RETURNTRANSFER => true,
)
);
$response = curl_exec($handle);
curl_close($handle);
header('Content-Type: text/plain;');
print_r($response);