|
ПолучитьТелоКакДвоичныеДанные() не до конца скачивает файл? | ☑ | ||
---|---|---|---|---|
0
MiracMC
25.03.20
✎
18:14
|
Доброго времени суток.
Пытаюсь скачать файл с сайта с ЗАМЕНОЙ ранее скачанного файла уже на диске. Некое обновление данных с сохранением полного пути к ним.. [code] Домен = "yyy.yy"; адресс = "\myfile\myfile.txt"; куда = "d:\myfile.txt"; Соединение = Новый HTTPСоединение(Домен,,,,,,,); Запрос = Новый HTTPЗапрос(адресс); Результат = Соединение.Получить(Запрос); Результат.ПолучитьТелоКакДвоичныеДанные().Записать(куда); [Code\] В итоге работает через раз. пробовал под разными пользователями с разными правами как в 1С так и на папку. Но сегодня под пользователем Х все работает норм... и завтра работает норм... в поле завтра - не сработает. Что значит не сработает.. целевой файл ан диске станем с весом = 238 байт (238 байт) хотя сам файл реально весит = 94,8 КБ (97 154 байт) ну и как результат не открывается и не считывается. Сама же 1С ошибок при скачивании не выдает... |
|||
1
Fragster
гуру
25.03.20
✎
18:18
|
а ты открой блокнотом твой файл размером 238 байт
может там написано 502 сервис анавэибл, или 419 юзер из овер квота или еще что |
|||
2
MiracMC
25.03.20
✎
18:47
|
(1)
так.. внесу конкретику... я таким образом скачиваю обновленный файл внешней обработки 1С в формате epf сейчас открыл этот самый файл "блокнотом".. вот что внутри <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>302 Found</title> </head><body> <h1>Found</h1> <p>The document has moved <a href="https://хххххх.com/1c_dist/file_30012.epf">here</a>.</p> </body></html> я так понимаю что это то что 1С записала в файл при ПолучитьТелоКакДвоичныеДанные().Записать() Но почему? по ссылке есть пройти - файл скачивается нормально. и при этом то работает то нет.... |
|||
3
ДенисЧ
25.03.20
✎
18:49
|
Потому что по ссылке у тебя работает умный бровзер, который знает, что такое 302 Moved permamnently.
А твой тупой скрипт - не знает |
|||
4
Fragster
гуру
25.03.20
✎
18:58
|
есть прекрасное: https://github.com/vbondarevsky/Connector
|
|||
5
MiracMC
25.03.20
✎
18:58
|
(3) так а как объяснить что что оно то работает то нет...??
|
|||
6
Fragster
гуру
25.03.20
✎
19:01
|
(5) кубернетес какой-нибудь
|
|||
7
Fragster
гуру
25.03.20
✎
19:01
|
и прочие cdn
|
|||
8
Fragster
гуру
25.03.20
✎
19:02
|
или вообще новую версию выкладывает
|
|||
9
MiracMC
25.03.20
✎
19:11
|
(4) не подходит ничего внешнего... все штатно надо(
(8) дык нет. я сам ее выкладываю.. это можно исключить... таким же методом в этих же средах я уже год скачиваю с хоста xls файлы... разница только в том что качаю я их не с заменой а во временные файлы.. после чего эти самые временные фалы удаляю...а тут же надо с заменой... и оно работает.. ну под моим, админским. доступом - всегда работает. я не видел этой ошибки никогда... а тут вот запустили обновление обработки и оно начало давать сбои... я уже и права все перепроверил... нет там ничего... но, я пятницу, зашел удаленно к клиенту и все сработало норм.. сегодня - та же процедура и вот такое... хост с которого качаю - тоже мой.. но не понимаю я как так то.. то да то нет.... |
|||
10
Fragster
гуру
25.03.20
✎
19:35
|
вообще похоже на настроенный редирект http - https
|
|||
11
MiracMC
25.03.20
✎
20:11
|
(10) ... так и есть.. есть редирект такой...
но, опять таки, почему иногда то да то нет.... под настроение или это можно чем то объяснить? |
|||
12
Fragster
гуру
26.03.20
✎
10:25
|
(11) редирект есть всегда, а вот пользюк сует ссылку с хттп
|
|||
13
drcrasher
26.03.20
✎
10:36
|
(2) религия запрещает использовать БСП ПолучениеФайловИзИнтернета?
|
|||
14
MiracMC
31.03.20
✎
14:31
|
Проблему поборол четким определением с SSL соединятся или без
НТТПС = 5; Если СтрЧислоВхождений(СокрЛП(адресс),"https://") = 1 Тогда НТТПС = 1; ИначеЕсли СтрЧислоВхождений(СокрЛП(адресс),"http://") = 1 Тогда НТТПС = 0; КонецЕсли; Если НТТПС = 1 Тогда Соединение = Новый HTTPСоединение(Домен,,,,,,Новый ЗащищенноеСоединениеOpenSSL()); ИначеЕсли НТТПС = 0 Тогда Соединение = Новый HTTPСоединение(Домен,,,,,,); Иначе Сообщить("Не смогли определить тип соединения"); КонецЕсли; и использовал чтение возвращаемого параметра Результат = Соединение.Получить(Запрос); кодСостояниеЗапроса = Результат.КодСостояния; Если Результат.КодСостояния = 302 Тогда НеожиданнаяОстановкаОбновления = 1; КонецЕслИ; Спасибо за напутствия! |
|||
15
Ёпрст
31.03.20
✎
14:34
|
(14) переменная НТТПС и второе условие лишнее в этом коде
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |