Если пробую через КопироватьФайл(ИмяФайлаИсточника, ИмяФайлаПриемника) если задаю ИмяФайлаИсточника в таком виде
файл не скачивает.
Есть вот такая ссылка ИмяФайла = http://www.site.com.ua/tmp/detail.csv то все скачивает нормально.
Тоисть как получить как бы прямую ссылку на файл в моем случае? например на сайте avtodim.com ???
Адрес = "/print.asp?file=/statistics/credit_statistics/refinancing_rates.htm";
WSH=Новый COMobject("wscript.shell");
ЛокальныйФайл=WSH.ExpandEnvironmentStrings("%TEMP%")+"\refinancing_rates.htm";
Попытка
НТТР = Новый HTTPСоединение("www.cbr.ru");
НТТР.Получить(Адрес, ЛокальныйФайл);
ВходящийФайл = Новый Файл(ЛокальныйФайл);
(3) marshalpth, Ну, на будущее...Если у кого-то возникнет похожая проблема.Открываем страницу, с которой нужно перечти к скачиванию в браузере, я пользуюсь фаерфоксом. Правой кнопкой на элементе нажимаем и выбираем "исследовать элемент", откроется консольное табло браузера. В нем нажимаем "Консоль" и кликаем по ссылке на странице, где находится загрузка. В табло появятся ссылки: 1 для скачивания и 1 "Реального расположения файла"...На картинке это видно. Собственно, профит. Копируем средствами 1с в локальный файл, а затем работаем с локальным. Ну, все, как обычно.
(6) marshalpth, Не за что, меня пытливый ум не успокаивал. Было интересно найти- как? Теперь нашел и знаю! Получил "Головокружение от успехов". Мне понравилось, что получилось найти результат. Рад, что заработало.
Спасибо за помощь. Еще такой вопрос КопироватьФайл(ИмяФайлаИсточника, ИмяФайлаПриемника), если я знаю расширение файла Источка тогда понятно, я записываю в файл приемник с аналогичного типа. А если я не знаю типа файла источника, если там например zip-архив...?Как сохранить в файл приемник нужного типа?
(11) marshalpth, Я бы написал функцию, которая анализирует строку "путь к файлу", затем получив его длину СтрДлина()- в цикле ее перебирал от СтрДлина() до 1. Поставил бы условие, если это "точка", то вычислил бы через Сред() "Расширение файла", собственно, это интересовало? А в конечном итоге: копироватьФайл() копирует 1 в 1 файл с расширением, подменяется только путь.
ИнтернетАдресс = "www.bezopasnost-shop.com";
ИмяФайлаЗагрузки = "bezopasnost_product_price.xml";
Каталог = КаталогДокументов(); //Каталог = КаталогВременныхФайлов();
Соединение = Новый HTTPСоединение(ИнтернетАдресс,443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Сообщить(""+ТекущаяДата()+" "+Соединение+" "+Соединение.Сервер+" Порт="+Соединение.Порт+" (защищённое="+Соединение.Защищенное+")");
Запрос = Новый HTTPЗапрос("/"+ИмяФайлаЗагрузки);
Если Запрос<>Неопределено Тогда
//Соединение.Получить(Запрос, Каталог+ИмяФайлаЗагрузки);
Ответ = Соединение.Получить(Запрос, Каталог+ИмяФайлаЗагрузки);
//ИЛИ так Ответ = Соединение.Получить(Запрос);
//Ответ.ПолучитьТелоКакДвоичныеДанные().Записать(Каталог+ИмяФайлаЗагрузки);
Сообщить(""+ТекущаяДата()+" Файл загружено в "+Каталог+ИмяФайлаЗагрузки);
Иначе
Сообщить("Файл не знайдено: "+ИнтернетАдресс+"\"+ИмяФайлаЗагрузки);
Возврат;
КонецЕсли;
Показать
Ответ можно использовать, если нужно потом проанализировать КодСостояния, чтобы узнать причину отказа сайта!