|
Сохранение странички из Инета в txt | ☑ | ||
---|---|---|---|---|
0
Маркетолог
27.11.12
✎
11:07
|
Как средствами 1С8.2 открыть страничку и сохранить содержимое
в текстовый файл ? |
|||
1
Маркетолог
27.11.12
✎
12:48
|
пробую вот так делать
АдресСервера = "http://xxxxxxxxxxxxxxxxx.html"; ИмяФайлаНаСервереДеревоКаталогов = ""; Попытка HTTP = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); Исключение Сообщить("Ошибка подключения HTTP!", Ложь); Сообщить("111111111"); КонецПопытки; СтрокаАдреса = АдресСервера + ИмяФайлаНаСервереДеревоКаталогов; HTTP.Open("GET", СокрЛП(СтрокаАдреса), false); HTTP.Send(); Если HTTP.Status = 200 Тогда ТекстОтвета = HTTP.ResponseText; иначе HTTP = ""; КонецЕсли; Но говорит "ошибка при получении атрибута контекста (ResponseText)" |
|||
2
Wobland
27.11.12
✎
12:54
|
что, нет такого у WinHttp.WinHttpRequest.5.1?
|
|||
3
Маркетолог
27.11.12
✎
12:55
|
(2) В Дебагере есть.
|
|||
4
le_
27.11.12
✎
13:22
|
http = Новый COMОбъект("Microsoft.XmlHttp");
|
|||
5
Маркетолог
27.11.12
✎
13:36
|
Значит я вообще не то делал.
Мне надо програмно "сохранитьКак" в текстовый файл. |
|||
6
le_
27.11.12
✎
13:43
|
http = Новый COMОбъект("Microsoft.XmlHttp");
|
|||
7
le_
27.11.12
✎
13:47
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
|
|||
8
Маркетолог
27.11.12
✎
14:41
|
(7) Немного нето получается.
Если из браузера "сохранить как", то "Волшебный форумВолшебный форумОдинэсник сильно заболел, лейкоз Срочно нужны деньги на лечение Александр Крупка из Киева Книга знаний Привет, Маркетолог | Личные настройки | Выход..... а если по (7), то "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="Cache-control" content="no-store, no-cache, must-revalidate"> <title>Волшебны ... |
|||
9
le_
27.11.12
✎
15:25
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
Там окошко появляется, его можно сделать Visible и отправить туда SendKeys("{ENTER}"), чтобы полностью автоматически было. |
|||
10
Маркетолог
28.11.12
✎
00:05
|
(9) Ради любопытства спрошу.
Как "отправить туда SendKeys("{ENTER}")" ? Предполагаю, что этот кусок кода не будет работать на СЕрвере. |
|||
11
oleg_prg
28.11.12
✎
01:13
|
(10) типа такого
ИЕ=СоздатьОбъект("InternetExplorer.Application"); ИЕ.Visible=0; НомерКомпании = 0; Адрес1 = "yandex.ru"; ИЕ.Navigate(Адрес1); Пока ИЕ.ReadyState<4 Цикл КонецЦикла; ИЕ.Document.Forms(1).elements("key_string").Value=СокрЛП("Программист 1С"); ИЕ.Document.Forms(1).submit(); |
|||
12
oleg_prg
28.11.12
✎
01:18
|
Может такой код будет полезен
Функция GETWeb(Страница, СсылкаФото = "", ВыходФото = "") Адрес = "http://catalog.onliner.by/mobile/~add=0~sort_by=best~dir=asc~where=actual~currency=USD~city=minsk~page="+СокрЛП(Страница)+"/"; //Адрес = "http://content1.onliner.by/catalog/devices/apple_iphone4_16gb.jpg"; Если СсылкаФото <> "" Тогда Адрес = СсылкаФото; КонецЕсли; Состояние("Загрузка с WEB узла"); //Отправка стандартного запроса Попытка // создадим объект XMLHttpRequest олеХМЛ = СоздатьОбъект("Microsoft.XMLHTTP"); Исключение Сообщить("Ошибка создания Microsoft.XMLHTTP"); Возврат 0; КонецПопытки; // иницируем его типом запроса и нужным нам URL олеХМЛ.Open("GET", Адрес, 0); Попытка // отправим запрос для обработки серверу олеХМЛ.Send(); Исключение Сообщить("Ошибка доступа!!! SEND объекта Microsoft.XMLHTTP"); Возврат 0; КонецПопытки; Попытка // создадим "поток" через ADODDB для работы с данными олеАДО = СоздатьОбъект("ADODB.Stream"); Исключение Сообщить("Ошибка создания ADODB.Stream"); Возврат 0; КонецПопытки; // зададим тип и режим потока олеАДО.Mode = 3; олеАДО.Type = 1; // откроем его олеАДО.Open(); Попытка // создадим объект для управления скриптами олеШелл = СоздатьОбъект("MSScriptControl.ScriptControl"); Исключение Сообщить("Ошибка создания MSScriptControl.ScriptControl"); Возврат 0; КонецПопытки; // установим язык сценариев олеШелл.Language = "vbscript"; // добавим созданные объекты олеШелл.AddObject("oleADO", олеАДО); олеШелл.AddObject("oleXML", олеХМЛ); // с помощью скрипта запишем в поток ADO данные из // объекта XMLHttpRequest // то есть содержимое страницы олеШелл.Eval("oleADO.Write(oleXML.ResponseBody)"); // запишем данные во временный файл Если СсылкаФото = "" Тогда олеАДО.SaveToFile("D:\data.txt", 2); Иначе олеАДО.SaveToFile(ВыходФото, 2); КонецЕсли; // закроем данный поток олеАДО.Close(); Состояние("Получен!!!"); Возврат 1; КонецФункции |
|||
13
Маркетолог
28.11.12
✎
01:20
|
(11),(12)
Спасибо. Завтра попробую. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |