首页 > 解决方案 > 如何使用php生成mega.nz直接下载链接

问题描述

您好我想使用 php 从 mega.nz 获取直接下载链接。但是这个脚本下载了错误的文件。如何解决?这是 php 我的脚本。

    error_reporting(0);
$url = "https://mega.nz/#!YfxRWbZC!8ckee4WWEdIsdoA-8gJaEoQjGp8mD0z6iJJMSOhgGh0";
preg_match("/!(.+?)!/", $url, $output_array);
$fileID = $output_array[1];
$domain = "mega.nz";
$lang = "en";
$apiURL = "https://eu.api.mega.co.nz/cs?domain=$domain&lang=$lang";

$value = array(
  array(
    'a' => 'g',
    'g' => 1,
    'ssl' => 1, //0, 1, 2 (default is 2)
    'p' => $fileID) // File id here
  );

  $rawPOST = json_encode($value);

  $ch = curl_init();

  curl_setopt($ch, CURLOPT_URL,            $apiURL );
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
  curl_setopt($ch, CURLOPT_POST,           true );
  curl_setopt($ch, CURLOPT_POSTFIELDS,     $rawPOST );
  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36');
  curl_setopt($ch, CURLOPT_HTTPHEADER,     array('Content-Type: text/plain;charset=UTF-8'));

  $result=curl_exec($ch);

  $jsonResult = json_decode($result);

  echo "<pre>";
  print_r($jsonResult);
  echo "</pre>";

  //$directLink = $jsonResult[0]->g;

结果是这样的:

Array
(
    [0] => stdClass Object
        (
            [s] => 670324
            [at] => itsRcC_Uk8GQSJRgJCj1qT0qyUOWuWbtEb1TCsTQkZkduPhcMVcBlBHHAdjo55Ox-e4YIEAtN4gfCPWjSdoqAQ
            [msd] => 1
            [g] => https://gfs208n103.userstorage.mega.co.nz/dl/GbRfvzoyX4eL0gL4FQtejHQGDVo_Zre5VtDnD-JN8KYkmv6rz3SI9THmPNwjnrDyCdUQZ-omVcVcmbEnJiPFqu0Gc_b_GMh-MJBLtC2Qs4FQix9huWVR2-3pLo-7oQ
        )

)

但是这个链接($directLink = $jsonResult[0]->g;) 正在下载错误的文件..如何修复它?

标签: php

解决方案


推荐阅读