2011-11-14 7 views
3

Windows NT認証の背後にある別のサーバーIISからの出力を、LAMPサーバーがjavacriptファイルから取得する必要があるセットアップがあります。Windows NT認証の背後にあるファイルを取得するためにfile_get_contents()を使用する方法

認証がなければ、file_get_contents()を使用して、必要なjavascriptファイルを取得できます。ただし、Windows NT認証を使用すると、これは失敗します。

PHPがファイルを取得できるように認証プロセスをシミュレートする方法はありますか?

答えて

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

、私はそれだけの場合には、 'CURLOPT_TIMEOUT'と' CURLOPT_CONNECTTIMEOUT'を設定するのが賢明だと思います。 cURLを使用する特典の1つ。 – danielrsmith

+0

素晴らしい、完璧に働いた。 'curl_setopt($ curl、CURLOPT_USERPWD、" $ username:$ password ");'から 'curl_setopt($ ch、CURLOPT_USERPWD、" $ username:$ password ");' – Mezzair

+0

に変更してください。申し訳ありませんが私はそれを修正しました:) – mobius

関連する問題