Скачивайте файлы с Megaupload с помощью cURL PHP - PullRequest
0 голосов
/ 29 декабря 2011

Я пишу скрипт для загрузки файлов из Megaupload на мой сервер.Я использую cURL на PHP, у меня есть сценарий входа, который загружает файл cookie:

<?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);
  ?>

Проблема в том, что файл не 'т скачать.Все, что я получаю, это файл с именем winch.zip размером 0 байт.Я думаю, что программа на самом деле загружает страницу входа в систему, так как при запуске скрипта браузер просто показывает страницу входа в систему megaupload, но адрес является localhost.Любые идеи о том, почему это не может работать?

1 Ответ

1 голос
/ 29 декабря 2011

Попробуйте следующее для загрузки части кода:


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");

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...