2012-07-28 2 views
0

메신저를 사용하여 php를 사용하고, httpauth를 사용하여 http를 통해 서버의 디렉토리에 액세스하고 있습니다. 나는 그것에게 사용자 이름과 암호를 건네주고 작동하는 것처럼 보이지만 일단 로그인하면 현재 디렉토리를 얻은 다음 그 디렉토리에있는 파일을 다운로드 할 것인가? 이 컬 코드를 사용하여 인증하려면 다음을 수행하십시오.PHP - 말아서 파일을 다운로드하는 방법은 무엇입니까?

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
$output = curl_exec($ch); 
$info = curl_getinfo($ch); 
curl_close($ch); 

답변

2

향후 요청에 대한 자격 증명을 다시 보내주십시오. HTTP 인증은 로그인을 추적하지 않습니다. 클라이언트는 각 요청에 대해 사용자 이름/암호 쌍을 다시 보내면됩니다.

+0

문제는 디렉토리에있는 파일이 무엇인지 알지 못해서 해당 디렉토리에있는 모든 파일을 다운로드해야한다는 것입니다. 어떤 제안? – John

+0

먼저 디렉토리 색인을 가져 와서 파일 목록을 가져온 다음 해당 목록을 반복하여 파일을 가져올 수 있습니다. HTML에서 파일 목록을 파싱하는 것은 전혀 다른 문제입니다. – Fraxtil

+0

먼저 페이지를 다운로드하고 html 링크로 구문 분석 한 다음 발견 된 각 링크를 반복합니다. – John

관련 문제