我正在尝试使用Openload API https://openload.co/api#download-ticket
构建应用程序我正在使用PHP curl来解析JSON文件并下载该文件。以下是我的代码:
$url = 'https://api.openload.co/1/file/dl?file=svctclysb7u&ticket=SvCtcLYsB7U&captcha_response=ty32';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
if ($response === false) {
echo curl_error($ch);
}
curl_close($ch);
if ($response !== false) {
$json = json_decode($response, true);
if ($json['status'] === 200) {
header('Location: ' . $json['result']['url']);
}
}
所以我;我试图使用标题重定向到下载网址('位置'。$ json ['结果'] ['url'])但我收到此错误:
download ISP is different to request ISP. request: AS55293 download: AS9299
我尝试研究并发现下载请求来自我的服务器IP,然后使用我的ISP IP下载,这是openload的问题。
有没有办法欺骗我使用相同的ISP下载文件的API?或者至少任何方式使下载过程都在同一个ISP上?
我已经尝试过使用ajax和$ .getJson但没有运气并且遇到了同样的错误。
答案 0 :(得分:0)
您可以在客户端使用AJAX发出请求,然后重定向用户以自行下载。然而,这是不好的做法,可能会让你被禁止使用API,所以我建议不要这样做。