php curl上传到megaupload

时间:2011-05-17 00:00:12

标签: php curl upload megaupload

我创建了一个php脚本,用于将文件上传到我帐户的megaupload,但我在上传部分遇到了一些问题。 我正在使用Curl与php。

我设置了以下选项:

CURLOPT_POST => 1
CURLOPT_USERAGENT => "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
CURLOPT_FRESH_CONNECT => 1
CURLOPT_RETURNTRANSFER => 1
CURLOPT_FORBID_REUSE => 1
CURLOPT_TIMEOUT => 10

CURLOPT_COOKIE => session_name() . '=' . session_id()
CURLOPT_COOKIE => realpath($cookie)
CURLOPT_COOKIEJAR => realpath($cookie)
CURLOPT_COOKIEFILE => realpath($cookie)

我发送第一篇帖子以连接到我的帐户。 这部分似乎有效,当我查看帐户页面时,我得到了我的信息。

然后我尝试使用multiupload表单发送文件

    $multi = $this->getPage("/multiupload/index.php");
    preg_match('#http://[w]{3}[0-9]#', $multi, $match);

    $startPos = strpos($multi, $match[0]);
    $endPos = strpos($multi, "\"", $startPos);
    $link = substr($multi, $startPos, $endPos - $startPos);
    echo "Link = " . $link . "\n";

    $startPos = strpos($link, "UPLOAD_IDENTIFIER=") + 18;
    $endPos = strlen($link);
    $id = substr($link, $startPos, $endPos - $startPos);
    echo "id = " . $id . "\n";

    $this->setPost(array ("sessionid" => "" . $id . "",
                            "UPLOAD_IDENTIFIER" => "" . $id . "",
                            "file" => "@" . realpath($fileName),
                            "message" => "abc",
                            "toemail" => "",
                            "fromemail" => "",
                            "password" => "",
                            "trafficurl" => "",
                            "multiemail" => ""));
    $page =  $this->getPage($link, 1);

但是我收到了“空回复”的答案

我无法弄清楚为什么我的要求是错误的。

感谢您的回答。

1 个答案:

答案 0 :(得分:0)

上传

http://www1016.megaupload.com/upload_done.php?UPLOAD_IDENTIFIER=01310301330397063843100367215169&user=[USER]&s=[SIZE]

确保你传递了所有必要的后场