php - 如何使用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;) 正在下载错误的文件..如何修复它?
解决方案
推荐阅读
- c - 真的迷失了如何在 C 中填充分配的内存
- python - 层问题的 set_weights
- r - 用户定义函数的 R-For 循环实现
- javascript - 如何修复组件正在更改未定义类型的不受控制的输入
- google-apps-script - 如何使用脚本制作 Google 工作表模板,在每个实例创建时用户不需要授权脚本访问权限?
- java - 如何解决滚动视图中的图像视图滞后
- python - 相当于Scipy中matlab的“OutputFcn”?
- javascript - Unable to display error message in view using ejs templates
- android - 如何以编程方式阻止和允许其他应用程序在 android 中访问互联网?
- assembly - PDP 8 指令集长度比较