2011-05-23 6 views
2

J'essaie de me connecter à megaupload.com en utilisant cURL et PHP. Ce que je veux faire est de me connecter afin d'avoir un accès premium, puis de télécharger un fichier. Ce code pour ma méthode de connexion:Connexion à Megaupload avec cURL et PHP

public function login() 
{ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "http://www.megaupload.com/?c=login"); 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, "username={$this->username}&password={$this->password}&login=1"); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $store = curl_exec($ch); 
    curl_close ($ch); 
} 

Et voici mon index.php:

<?php 

include_once("plugins/megaupload.class.php"); 

$megaupload = new Megaupload("username", "password"); 

$megaupload->login(); 

?> 

Mais rien ne semble se produire. Lorsque je lance le script, cookie.txt n'est enregistré nulle part. Je suis les valeurs POST de Firebug:

login=1&password=password&redir=1&username=username 

C'est ce qui est envoyé par le formulaire lorsque je me connecte à l'aide de leur site. Et oui, le nom d'utilisateur et mot de passe est correct.

Merci pour toute aide!

EDIT: D'accord, il semble qu'il se connecte actuellement car je peux accéder à la page de mon compte, ce que je ne serais pas en mesure de me connecter. Mais cela ne résout toujours pas où le cookie.txt le fichier est en cours d'enregistrement ...

Répondre

0

Il semble que l'option CURLOPT_COOKIEJAR ait quelques problèmes avec les URL relatives. Essayez de régler un chemin absolu:

curl_setopt($ch, CURLOPT_COOKIEJAR, realpath("cookie.txt"));

1

Vous devez vous assurer que le répertoire dans lequel vous essayez de stocker le cookie est inscriptible monde .

De même, vous devez utiliser un chemin absolu (configurer un dossier distinct en dehors de votre site Web, si vous le pouvez) et vous assurer des autorisations appropriées.

Vous devez également définir l'option CURLOPT_COOKIEFILE:

url_setopt($ch, CURLOPT_COOKIEFILE, ABS_PATH_TO_COOKIE_TXT);