php curl получает содержимое файла с URL-адреса, что приводит к загрузке файла, возвращает ошибку & quot; Пустой ответ с сервера & quot;

Я пытаюсь загрузить содержимое файла с URL-адреса, что приводит к загрузке файла с заголовком Content-Type: application / octet-stream

Код, который возвращает ошибку «Пустой ответ с сервера»:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://urltofile.com/file.csv');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if(!$file = curl_exec($ch)) {

echo curl_error($ch);

}

curl_close($ch);

echo $file;

0

Решение

Я нахожу решение через несколько часов!

Отправка пользовательских заголовков и пользовательского агента с помощью CURL решит эту проблему!

$ch = curl_init();

$agent="Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3";
$header=[];
$header[]="Accept: text/xml,text/csv,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[]="Connection: keep-alive";
$header[]="Keep-Alive: 300";

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_URL, 'http://urltofile.com/file.csv');
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if(!$file = curl_exec($ch)) {

echo curl_error($ch);

}

curl_close($ch);

echo $file;

Я надеюсь, что это кому-то поможет! 🙂

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]