请求使用我的服务器IP下载链接

时间:2018-05-13 17:36:07

标签: php api

我正在尝试使用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但没有运气并且遇到了同样的错误。

1 个答案:

答案 0 :(得分:0)

您可以在客户端使用AJAX发出请求,然后重定向用户以自行下载。然而,这是不好的做法,可能会让你被禁止使用API​​,所以我建议不要这样做。