Я пытаюсь загрузить файл с помощью cURL. Я получил URL-адрес, где находится файл, но URL-адрес перенаправляет его до достижения файла. По какой-то причине я всегда получаю страницу выхода, когда я обращаюсь к URL с помощью cURL, но когда я ввожу URL прямо в свой браузер, файл просто загружается, как и предполагалось. Файл, который должен быть загружен, является файлом RAR, но вместо файла я получаю неправильную страницу входа.Загрузить файл с cURL
Это текущий код:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "url");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
curl_close($ch);
print_r($result);
Как вы можете видеть, я использую следующий код, чтобы разрешить переадресацию:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
Но я всегда получаю неправильную страницу входа на веб-сайте, если Я использую вышеуказанный код. Может ли кто-нибудь увидеть, что я делаю неправильно здесь?
Это réponse я получаю от сервера:
HTTP/1.1 302 Found
Date: Tue, 26 Jan 2016 15:33:18 GMT
Server: Apache/2.2.3 (Red Hat)
X-Powered-By: PHP/5.3.2
Set-Cookie: PHPSESSID=session_id; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: /nl/nl/export/download/t/Mg==/c/MTQ=/
Vary: Accept-Encoding
Content-Length: 0
Content-Type: text/html; charset=UTF-8
ли URL, чтобы загрузить файл потребуется войти в систему? Если это так, вам может потребоваться смоделировать логин, используя куки в cURL. – slbteam08
Посмотрите этот ответ: http://stackoverflow.com/questions/34977535/how-do-download-a-file-from-an-ashx-page-with-php/34978954#34978954 – toto21
@ slbteam08 Да, это так нужен логин, но учетные данные для входа передаются в URL-адресе. Поэтому я не знаю, нужно ли мне отправлять их рядом с URL-адресом. – user3824329