Имя: Пароль:
1C
1С v8
Не скачивается файл по http который формируется на сервере
, ,
0 D_Sergeevich
 
25.08.16
11:14
Приветствую.
Пытаюсь скачать файл и в итоге он пустой. Я так понял что это из за того что файл формируется на сервере, к нему нет прямой ссылки.
Каким макаром можно скачивать такие файлы?

КопироватьФайл("http://www.сайт.net/csv.php?vid=val&in_date="+НачалоПериода+"&out_date="+КонецПериода+"&kod=643&lang=ru";, Темп+"rates.csv");
1 impulse9
 
25.08.16
11:16
Я бы проверил формат у НачалоПериода и КонецПериода
2 D_Sergeevich
 
25.08.16
11:21
(1) с форматом там все нормально как надо.
3 D_Sergeevich
 
25.08.16
12:06
Что никто не знает как качать такие файлы?
4 Torquader
 
25.08.16
12:59
Что-то мне подсказывает, что нужно не копировать файл применять, а httpзапрос.
5 Mauser
 
25.08.16
13:06
(4) Твое что-то не право

Примечание:

Файл-приемник при создании будет иметь права доступа, аналогичные назначаемым при создании новых файлов (т.е. права доступа к файлу-источнику не копируются).
Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
На веб-клиенте метод работает только с локальными файлами.
6 Mauser
 
25.08.16
13:08
(3) Никто. Сделаешь - расскажешь?
7 D_Sergeevich
 
25.08.16
14:47
(6) Троли - мимо проходим!
8 eklmn
 
гуру
25.08.16
14:59
HTTPЗапрос = Новый HTTPЗапрос(РесурсНаСервере);
   HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаЗапроса);
   Результат  = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
9 Mauser
 
25.08.16
15:12
(7) Что никто не знает как качать такие файлы?
10 Torquader
 
25.08.16
15:19
(5) То, что он может так скачаться, не означает, что не будет ошибки - при обрыве соединения у вас будет только часть файла, и не факт, что вылетит ошибка.
Всё-таки, (8) более соответствует действительности.
11 Mauser
 
25.08.16
15:25
(10) Ага. Только оно в другую сторону работает
12 Torquader
 
25.08.16
15:27
(11) Можно принимать и передавать запросы на http-сервер - и чего ещё надо ?
13 eklmn
 
гуру
25.08.16
15:28
(11) поясни
14 D_Sergeevich
 
25.08.16
15:33
(8) Сделал я так, отправил запрос, получил в "Результат" только заголовки. А где сам файл?
15 Mauser
 
25.08.16
15:36
(13) Какой HTTP метод ты используешь?
16 D_Sergeevich
 
25.08.16
15:37
(15) GET
17 Mauser
 
25.08.16
15:43
(12) Наверное, согласие сервера с таким утонченным подходом?
18 D_Sergeevich
 
25.08.16
15:44
Соединение = Новый HTTPСоединение("сайт");
HTTPЗапрос = Новый HTTPЗапрос("/csv.php?vid=val&in_date="+НачалоПериода+"&out_date="+КонецПериода+"&kod=643&lang=ru");
Результат  = Соединение.Получить(HTTPЗапрос, Темп+"rates.csv");

В итоге файл пустой
19 Mauser
 
25.08.16
15:44
(16) Это тебе так хочется.
А получается, при использовании конструкции авторства (8), у тебя POST
20 Mauser
 
25.08.16
15:45
(18) А браузер-то что тебе говорит?
21 D_Sergeevich
 
25.08.16
15:52
(19) Ну так а как тогда правильно написать?
(20) Если вставить эту строку в браузер он отправляет GET запрос, возвращает 302 статус и предлагает сохранить файл с данными
22 Mauser
 
25.08.16
15:59
(21) Может быть стоит тогда написать второй запрос к тому месту куда он отправляет тебя редиректом?
23 Serginio1
 
25.08.16
16:06
24 Serginio1
 
25.08.16
16:07
А вообще есть инструменты где редирект автоматический
25 Mauser
 
25.08.16
16:13
(24) Совершенно верно.
Например, ПолучениеФайловИзИнтернета.СкачатьФайлНаСервере
26 D_Sergeevich
 
25.08.16
17:06
(25) А где это? в 8.2.43 этого нет
27 D_Sergeevich
 
25.08.16
17:19
(22) Все спсибо все! Второй запрос помог.
28 Mauser
 
25.08.16
17:19
(25) Это в БСП. БСП в типовых. Типовые у франчайзи. Франчайзи в офисе. Офис в городе. Город в стране. Страна на планете. Планета в Солнечной Системе. Солнечная система в галактике. Галактика в кластере. Кластер во Вселенной. Вселенная... а вот дальше возможны разночтения.
29 oleg_km
 
25.08.16
18:09
Ну фиддлер же фиддлер тебе в руки. Ну наипервейший же отладчик HTTP. Надо на конфе робота сделать, на упоминание HTTP чтобы генерил: А фиддлером ты посмотрел?
30 D_Sergeevich
 
25.08.16
19:42
(29) Да там просто сайт каличный и постоянно зависает и хром стоит (а я его терпеть не могу), и я когда запрос в него вставлял он почему то только один запрос показывал. А потом как то так вышло и он показал еще один после первого и тогда я уже понял что он перенаправляет на другой адрес.