我有一个动态的PHP页面,我需要调用一个get参数。然后我想把生成的html放入一个字符串中并稍后使用它(我正在为Web服务试用Tonic框架)php:转发ntlm凭据卷曲
所以这与PHP - Read dynamically generated (and echoed) HTML into a string?类似,我尝试了使用cURL的答案。
问题是身份验证是使用ntlm(apache mod_auth_sspi)完成的。执行curl的php脚本已经过验证,例如只有有效的用户可以执行它。将这些“证书”传递给cURL有点可能吗? (用户名是可用的,但当然不是密码)
或者一个完全不同的方法也可以,但只有我的想法是创建一个函数来创建一个带有html内容的字符串。
$response = new Response($request);
$format = $request->mostAcceptable(array(
'json', 'html', 'txt'
));
switch ($format) {
case 'html':
$response->addHeader('Content-type', 'text/html');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://localhost/viewRecord.php?identifier=' . $identifier);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
$html = curl_exec($ch);
curl_close($ch);
$response->body = $html;
break;
//...
}
很久以前。请记住,我只是没有明确地设置userpwd而无法正常工作。但是玛比我只是做了一些错误的事情。无论如何,现在我只有1页(登录页面)在NTLM控制下。由PHP会话休息。请参阅上面的编辑链接。就我个人而言,我认为这是一种更好的方法,因为改变认证机制很容易。 – 2013-03-21 16:31:14