如何使用file_get_contents()来检索Windows NT Auth后面的文件

时间:2011-11-14 12:54:54

标签: php iis authentication nt

我有一个设置,其中LAMP服务器需要从另一个位于Windows NT身份验证后面的服务器IIS中检索javascript文件的输出。

如果没有身份验证,我可以使用file_get_contents()来检索我需要的javascript文件。但是,如果使用Windows NT身份验证,则会失败。

有没有人有任何想法如何模拟身份验证过程以允许PHP检索文件?

1 个答案:

答案 0 :(得分:6)

使用卷曲。

function getUrl( $url, $username = false , $password = false ) {
  $ch = curl_init(); 
  curl_setopt($ch, CURLOPT_URL, $url); 
  curl_setopt($ch, CURLOPT_HEADER, FALSE); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 

  if( $username && $password ) {
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
    curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); 
  }

  $buffer = curl_exec($ch); 
  curl_close($ch); 

  return $buffer;
}