gifts2017

Гороскоп на каждый день

Опубликовал mdbm (mdbm) в раздел Обмен - Интеграция с WEB

Внешняя обработка, позволяющая получать ежедневный гороскоп по дате рождения.

Написать подобную обработку навеяло изучение статьи о чтении динамических страниц, опубликованной http://www.infostart.ru/public/60330/ (автор: mai).

Оптимизацию получившегося кода не проводил, чтобы вам было удобнее разбираться и дорабатывать под свои нужды.

В качестве источника информации использовал сайт http://horoscopes.rambler.ru

Скачать файлы

Наименование Файл Версия Размер
Получить гороскоп 7
.ert 32,50Kb
02.07.12
7
.ert 32,50Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Андрей (AndrewEv) 20.01.10 17:42
Троян-ДаунЛоадер в файле. Автор, извинитесь перед нами, пожалуйста
2. Алексей Плутенко (Noy) 20.01.10 18:03
(1) Антивирус свой воспитывай! Ниче там нет.
3. Артур Коржан (1v7) 21.01.10 13:14
Вирусов нет! NOD32
А гороскоп прикольный+
4. Артур Коржан (1v7) 21.01.10 14:11
только какие то теги в конце вылазят...
*****************************************************
Гороскоп для знака Рак на 21 января 2010

Если утром вам покажется, что цель недостижима, не паникуйте.
Возможно, такое действие на вас оказывает критика со стороны другого человека (например, вашего партнера по делам, товарища по учебе, консультанта по важным вопросам).
Любое высказанное вам в лицо мнение обязательно примите во внимание, так как в прямоте и откровенности вашим оппонентам не откажешь.
Но как только обсуждение будет окончено, суммируйте сказанное и немедленно действуйте.
Если вы будете смелее и не станете сидеть сложа руки, то к вечеру сможете многого добиться.








********************************horoscopes.rambler.ru
5. Андрей Зайцев (zaic) 21.01.10 15:47
Касперский не дал скачать (базы в нем сегодняшние).
6. mdbm (mdbm) 22.01.10 10:40
Странно, а вирус обнаруживается при запуске обработчика или при скачивании ?
7. mdbm (mdbm) 22.01.10 11:01
Да, действительно Касперский выдает вирус, а на НОД32 тишина.
Но глядя на рисунок видно, что вирус обнаружен в тексте кода 1С.
Вы можете открыть текст и убедится, что под вирусом Касперский воспринимает код:

	
        Скрипт = СоздатьОбъект("MSScriptControl.ScriptControl");
	Скрипт.language = "vbscript";
	x = CreateObject("Microsoft.XMLHTTP");
	x.Open("GET", Адрес, 0,"","");
	x.Send();
	s = CreateObject("ADODB.Stream");
	s.Mode = 3;
	s.Type = 1;
	s.Open();
	Скрипт.AddObject("s",s);
	Скрипт.AddObject("x",x);
	Скрипт.Eval("s.Write(x.responseBody)");
	s.SaveToFile(ФайлРезультата, 2);
...Показать Скрыть


и в отчете касперского так и написано

2010_ПолучитьГороскоп.ert//1С ProgramText
Прикрепленные файлы:
8. mdbm (mdbm) 22.01.10 11:21
9. Андрей (AndrewEv) 22.01.10 23:05
прикольно, Касперский пошёл в 1C...
10. Саня Пупкин (pupkinSana) 02.02.10 12:49
Да троянчик есть здесь...
11. mdbm (mdbm) 02.02.10 15:59
Я написал письмо в лабораторию Касперского.
Посмотрим что они ответят.


Вот текст письма:

Добрый день.
Я написал программу - внешнюю обработку для программы 1С.
Выложил ее на сайте.
При попытке скачать, антивирус выдает сообщение о вирусе.

В тексте программы есть такой код:
Скрипт = СоздатьОбъект("MSScriptControl.ScriptControl");
Скрипт.language = "vbscript";
x = CreateObject("Microsoft.XMLHTTP");
x.Open("GET", Адрес, 0,"","");
x.Send();
s = CreateObject("ADODB.Stream");
s.Mode = 3;
s.Type = 1;
s.Open();
Скрипт.AddObject("s",s);
Скрипт.AddObject("x",x);
Скрипт.Eval("s.Write(x.responseBody)");
s.SaveToFile(ФайлРезультата, 2);

Данный скрипт открывает страницу определенного сайта и сохраняет ее в текстовый файл.

Не могли бы вы объяснить почему данный текст программы блокируется антивирусом как вирус и мешает пользователям скачать мою обработку ?

При этом НОД32 ДокторВеб молчат.
...Показать Скрыть


Ваш запрос успешно отправлен в Департамент исследований и разработки Лаборатории Касперского.

ждем....
12. mdbm (mdbm) 09.02.10 15:02
13. Симулякр Штирлиц (simuljakr1) 25.11.10 17:42
Нашел небольшой косячок :)
"Козерога" неправильно обрабатывает...
Потому что "козерожье" условие никогда не выполняется:

	ИначеЕсли (ТекДата>=Дата("22.12."+Год)) И (ТекДата<=Дата("20.01."+Год))  Тогда
Возврат ?(Язык="ru","Козерог","capricorn");


Но в целом прикольная обработка +
14. Артур Коржан (1v7) 20.06.12 11:49
перестал работать... дело в Рамблере
15. mdbm (mdbm) 02.07.12 22:52
(14) 1v7, Обновил ) Продолжаем получать звёздные подсказки ))
16. Артур Коржан (1v7) 04.07.12 09:35
(15) mdbm, спасибо!!! а то без вгляда в будущее по утрам тяжело жить))
единственное, для комфорта, надо рабочие сообщения "зарисовать":
//Сообщить("НачальнаяСтрока = "+НачальнаяСтрока);
//Сообщить("КонечнаяСтрока = "+КонечнаяСтрока);
17. Артур Коржан (1v7) 04.07.12 12:48
как писал simuljakr1, есть косячок. я бы так поправил:

Функция глПолучитьЗнакЗодиака(ТекДата,Язык="ru") Экспорт
Год=Прав(ДатаГод(ТекДата),2);
Если (ТекДата>=Дата("21.03."+Год)) И (ТекДата<=Дата("20.04."+Год)) Тогда
Возврат ?(Язык="ru","Овен","aries");
ИначеЕсли (ТекДата>=Дата("21.04."+Год)) И (ТекДата<=Дата("20.05."+Год)) Тогда
Возврат ?(Язык="ru","Телец","taurus");
ИначеЕсли (ТекДата>=Дата("21.05."+Год)) И (ТекДата<=Дата("21.06."+Год)) Тогда
Возврат ?(Язык="ru","Близнец","gemini");
ИначеЕсли (ТекДата>=Дата("22.06."+Год)) И (ТекДата<=Дата("22.07."+Год)) Тогда
Возврат ?(Язык="ru","Рак","cancer");
ИначеЕсли (ТекДата>=Дата("23.07."+Год)) И (ТекДата<=Дата("23.08."+Год)) Тогда
Возврат ?(Язык="ru","Лев","leo");
ИначеЕсли (ТекДата>=Дата("24.08."+Год)) И (ТекДата<=Дата("23.09."+Год)) Тогда
Возврат ?(Язык="ru","Дева","virgo");
ИначеЕсли (ТекДата>=Дата("23.09."+Год)) И (ТекДата<=Дата("23.10."+Год)) Тогда
Возврат ?(Язык="ru","Весы","libra");
ИначеЕсли (ТекДата>=Дата("24.10."+Год)) И (ТекДата<=Дата("22.11."+Год)) Тогда
Возврат ?(Язык="ru","Скорпион","scorpio");
ИначеЕсли (ТекДата>=Дата("23.11."+Год)) И (ТекДата<=Дата("21.12."+Год)) Тогда
Возврат ?(Язык="ru","Стрелец","sagittarius");
ИначеЕсли (ТекДата>=Дата("21.01."+Год)) И (ТекДата<=Дата("18.02."+Год)) Тогда
Возврат ?(Язык="ru","Водолей","aquarius");
ИначеЕсли (ТекДата>=Дата("19.02."+Год)) И (ТекДата<=Дата("20.03."+Год)) Тогда
Возврат ?(Язык="ru","Рыба","pisces");
ИначеЕсли (ТекДата>=Дата("22.12."+Год)) ИЛИ (ТекДата<=Дата("20.01."+Год)) Тогда
Возврат ?(Язык="ru","Козерог","capricorn");
КонецЕсли;
КонецФункции
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа