2011-12-29 2 views
0

Megaupload에서 내 서버로 파일을 다운로드하는 스크립트를 작성하고 있습니다.cURL을 사용하여 Megaupload에서 파일 다운로드 PHP

<?php 
function login($username, $password){ 
$mega = curl_init(); 
curl_setopt($mega, CURLOPT_URL, "http://www.megaupload.com/?c=login"); 
curl_setopt($mega, CURLOPT_POST, true); 
curl_setopt($mega, CURLOPT_POSTFIELDS, "login=1&redir=1&username=$username&password=$password"); 
curl_setopt($mega, CURLOPT_COOKIEFILE, dirname(__FILE__) . "/megaupload_cookie.txt"); 
curl_setopt($mega, CURLOPT_COOKIEJAR, dirname(__FILE__) . "/megaupload_cookie.txt"); 
curl_exec($mega); 
curl_close($mega); 
} 
?> 

및 다운로드 스크립트 :

<?php 
    include("megaupload_login.php"); 
    login("username", "ps"); 
    set_time_limit(0);  
    $url = "http://www.megaupload.com/?d=A428CAKH"; 
    $fp = fopen("winch.zip", "w"); 
    $dl = curl_init($url); 
    curl_setopt($dl, CURLOPT_COOKIEFILE, "megaupload_cookie.txt"); 
    curl_setopt($dl, CURLOPT_FILE, $fp); 
    curl_exec($dl); 
    curl_close($dl); 
    fclose($fp); 
    ?> 

문제는, 파일을 다운로드하지 않습니다 나는 PHP에 컬을 사용하고, 나는 로그인 쿠키 파일을 다운로드하는 스크립트가 있습니다. Winch.zip 파일의 크기는 0 바이트입니다. 나는 프로그램이 실제로 로그인 페이지를 다운로드하고 있다고 생각한다. 스크립트를 실행할 때 브라우저는 megaupload 로그인 페이지를 보여 주지만 주소는 localhost이다. 이것이 작동하지 않는 이유에 대한 아이디어가 있습니까?

+0

는 아래의 링크를 시도 도움이되기를 바랍니다 http://stackoverflow.com/questions/6103774/serving- downloads-with-php-and-curl – Nishant

+0

대부분의 다운로드 호스트는 토큰 화/시간 제한 다운로드 URL로 리디렉션합니다. 당신은 컬링에게'CURLOPT_FOLLOWLOCATION'을 통해 리다이렉트를 따르라고 말하지 않았습니다. –

+0

@marcb 굉장히, 후속 위치 설정은 작동하게 만들었습니다. – jz999

답변

1

시도 코드의 다운로드 부분에 대해 다음 :

 

function download_file($link) { 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $link); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . "/cookies/megaupload.txt"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $result = curl_exec($ch);  
    curl_close($ch); 
    return $result; 
} 
$filecontents = download_file("http://www.megaupload.com/?d=A428CAKH"); 
 

그것이

관련 문제