Я пытаюсь использовать API Rapidshare для загрузки файла. Для этого мне нужно дважды запросить их подпрограмму download
. Один раз, чтобы получить соответствующий сервер загрузки для использования, а во-вторых, чтобы запросить загрузку еще раз на сервере, который дал мне первый запрос. Второй вызов - это то, что отправляет файл.
При первом вызове возвращается заголовок с полем Location: blah
, и мне нужно следовать этому расположению. Итак, я сделал это:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=download&fileid=$file_id&filename=$file_name&try=1&login={$account['username']}&password={$account['password']}");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$resp = curl_exec($ch);
curl_close($ch);
К сожалению, похоже, что он не следует за заголовком местоположения, потому что ничего не возвращается в $resp
. Если я добавлю URL в свой браузер, он будет успешно следовать заголовку местоположения и выдаст мне выходные данные вызова API, поэтому он должен быть неправильным в PHP или cURL.
Может ли кто-нибудь рискнуть догадаться, что это может быть? Я возился уже 30 минут и понятия не имею.
Спасибо за любую помощь!