Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 1
Регистрация: 01.10.2015
Сообщений: 10
1

Загрузка файла через curl, а вместо файла страница с кроказабярами

16.04.2016, 22:47. Показов 1632. Ответов 2
Метки нет (Все метки)

Скачиваю файл через curl, а вместо него вылазает страница с крокозябрами
HTML5
1
HTTP/1.1 100 Continue HTTP/1.1 200 OK Server: nginx Date: Sat, 16 Apr 2016 19:36:28 GMT Content-Type: application/x-zip-compressed; name="Price_������_xlsm.zip"; charset="windows-1251" Content-Length: 3965484 Connection: keep-alive Set-Cookie: rkol=1; expires=Fri, 10-Feb-2017 19:29:49 GMT; path=/ Pragma: public Expires: 0 Cache-Control: must-revalidate, post-check=0, pre-check=0 Content-Description: File Transfer Content-Size: 3965484 Accept-Ranges: bytes Content-Disposition: attachment; filename="Price_������_xlsm.zip" Content-Transfer-Encoding: binary PK+��He�|�<���<�$���������_������.xlsm ����$��Yʺ�,��B���,����s�.Ϻ-ڶm۶{�m۶fs�f۶m۶m����Z{{o�q?���G�Y�Vd=9r<����R� (`��u.[�?��@Z�v��&��z��&N:t�6�y @9@����n*�����'�hD�8ay5�qx��~d�hF�;Q�ϸ���#uV����G��S��ֵ��d/a:���=�9�z����w��RՅ�xTM������Er��� �a����B9e���ʼn"Ⲧ�e�5GIC�G��{�nZ'`��e��    �����Z��سP�7}aU�#�(R%J�=?�%0Ѡ��� Ҍ�  X�V5��    � 8���d�@���/u¬�l�|΁a&�j�w[{[n��?t��:�"��1a�_˝�kk�XyQ�+����D�����Sy����`uK��!�x�s��=3���c��ބrU}
Сам скрипт
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$curl = curl_init(); 
 
curl_setopt($curl, CURLOPT_URL, 'https://site.com/?action=Y3F86565&action1=YD56AF97&lol=28e0e91f7d77a5a6a7ea1373f21c6912&type=xlsm');
 
curl_setopt($curl, CURLOPT_COOKIEJAR, 'cook.txt');
curl_setopt($curl, CURLOPT_COOKIEFILE, 'cook.txt');
curl_setopt($curl, CURLOPT_USERAGENT, "Opera/10.00 (Windows NT 5.1; U; ru) Presto/2.2.0");
curl_setopt($curl, CURLOPT_FAILONERROR, 1);
curl_setopt($curl, CURLOPT_REFERER, 'https://site.com/');
curl_setopt($curl, CURLOPT_TIMEOUT, 3);
curl_setopt($curl, CURLOPT_POST, 1); 
curl_setopt($curl, CURLOPT_POSTFIELDS, array(
  'client'=>'clientid',  
  'login'=>'name',
  'password'=>'pass',
  'Ok'=>'Войти'
));
 
curl_setopt($curl, CURLOPT_HEADER, 1);
 
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($curl); 
curl_close($curl);
Как сделать так, чтобы файл скачивался, а не открывался, как HTML-страница
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2016, 22:47
Ответы с готовыми решениями:

Загрузка файла в curl
Делаю загрузку картинок на хостинг через сайт, после запрос возвращает xml где указано что файл не...

Отправка файла на хост через CURL
Уже пару дней мучаюсь с отправкой пикчи на хост, уже кучу разного перепробовал, и в base64 через...

Загрузка файла вместо отображения его в браузере
Здравствуйте! Пытаюсь решить следующую проблему: у меня на сервере есть файл с расширением .cpp, но...

Загрузка файла через urllib
Всем привет. Пишу программу, которая загружает определенный файл и показывает процент загрузки. С...

2
wq
85 / 78 / 32
Регистрация: 26.11.2015
Сообщений: 481
16.04.2016, 23:44 2
PHP
1
2
3
4
5
//----------
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //вывод в переменную
if ($result = curl_exec($curl)) {
    file_put_contents('saved-file-path-name.ext', $result);
}
1
0 / 0 / 1
Регистрация: 01.10.2015
Сообщений: 10
18.04.2016, 03:07  [ТС] 3
Таким способом не получилось. Скачивался файл в 10 килобайт, вместо 3 мегабайт. Хотя скорее всего это произошло из-за таймаута в 3 секунды. Кароче, выкладываю рабочий, если у кого-то возникнет подобная ситуация.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$name='download.zip'; 
 
$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, "https://site.com/?action=$action1&action1=$action2&lol=$lol&type=xlsm");
$file=fopen($name, "w+"); 
curl_setopt($curl, CURLOPT_FILE, $file);
curl_setopt($curl, CURLOPT_COOKIEJAR, 'cook.txt'); 
curl_setopt($curl, CURLOPT_COOKIEFILE, 'cook.txt');
curl_setopt($curl, CURLOPT_USERAGENT, "Opera/10.00 (Windows NT 5.1; U; ru) Presto/2.2.0");
curl_setopt($curl, CURLOPT_FAILONERROR, 1);
curl_setopt($curl, CURLOPT_REFERER, 'https://site.com/');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 0);
curl_setopt($curl, CURLOPT_POST, 1); 
curl_setopt($curl, CURLOPT_POSTFIELDS, array(
  'client'=>'clientid',  
  'login'=>'user',
  'password'=>'pass',
  'Ok'=>'Войти',
   
));
 
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 0);
$result = curl_exec($curl); 
 
 
 
curl_close($curl);
fclose($file);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2016, 03:07

Загрузка файла через ADO
Доброго времени суток !! Пишу программу клиент на делфи! Подскажите как сделать чтобы при нажатии...

Загрузка файла через интернет!
У кого есть исходник загрузки .exe файла через интернет???? с ProgressBar ??????????

Загрузка файла через браузер
Всем доброй ночи. Проблема такая, надо отослать письмо с приатаченым файлом! вроде легкоЖ) я...

Загрузка файла через консоль
Пытаюсь написать консольный Контроллер, выглядит пока вот так class UtilController extends...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.