Php 如何使用file_get_contents()在Windows NT Auth之后检索文件

Php 如何使用file_get_contents()在Windows NT Auth之后检索文件,php,iis,authentication,nt,Php,Iis,Authentication,Nt,我有一个设置,其中LAMP服务器需要从位于Windows NT身份验证后面的另一台服务器IIS检索javascript文件的输出 在没有身份验证的情况下,我可以使用file\u get\u contents()检索所需的javascript文件。但是,在Windows NT身份验证就绪的情况下,这将失败 有人知道如何模拟身份验证过程以允许PHP检索文件吗?使用curl function getUrl( $url, $username = false , $password = false ) {

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

在没有身份验证的情况下,我可以使用
file\u get\u contents()
检索所需的javascript文件。但是,在Windows NT身份验证就绪的情况下,这将失败

有人知道如何模拟身份验证过程以允许PHP检索文件吗?

使用curl

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;
}

使用cURL时,我认为明智的做法是设置
CURLOPT_TIMEOUT
CURLOPT_CONNECTTIMEOUT
,以防万一。使用卷发的好处之一。棒极了,效果很好。只需更改
curl_setopt($curl,CURLOPT_USERPWD,“$username:$password”)
curl_setopt($ch,CURLOPT_USERPWD,$username:$password”)哦,是的,打字错误。抱歉,我已经解决了:)