В тази статия ще научите как да
Използване на Perl модули LWP :: UserAgent и MIME :: Lite изтегляне
HTML страница и да го изпратите в писмо, заедно с
всички вградени изображения.
Използването на по-горе метод, I дневно
Аз получите най-новите вицове в електронната си поща
кутия - добре, прекалено мързеливи, за да ми всеки ден да се изкачи в Интернет
🙂
- LWP :: UserAgent - клас по поръчка
агенти WWW
документ
Време в секунди
Сайт анекдоти / една / година месец / о година месец den.html на
и само 2 миналата година, взети от
цифри, както и от месеца и ден се допълват от до 2
знаци с нули от ляво, ако е необходимо.
Малко отклонение за тези,
които току-що започнах да се уча Perl.
Как да изтеглите WEB страница?
Как да се изпрати писмо, с прикачен
файлове?
Помислете за стъпките на програмата.
- Определяне на URL адреса на документа
- Изтегляне на съдържанието на страницата за WEB
- Търсим и изтегляне на всички съдържащи се
страница на изображението
тяхната абсолютна стойност
електронна поща
Техническото изпълнение на скрипта, ще го направя
описват схематично, ако това не е
ясно - виж изходния код.
С ANEKDOT.RU всички истории вчера. пресмятам
дата - полунощ вчера. допълнение
дата на нули от лявата.
$ Sutki = 24 * 60 * 60;
($ Tek_day, $ tek_month, $ tek_year) = (LOCALTIME) [3,4,5];
$ In1 = timelocal (0,0,0, $ tek_day, $ tek_month, $ tek_year);
$ In2 = $ in1- $ sutki;
($ Tek_day, $ tek_month, $ tek_year) = (LOCALTIME ($ in2)) [3,4,5];
$ Tek_month ++; $ Tek_year + = 1900;
ако ($ tek_month<10)
$ Tek_month = "0". $ Tek_month
>
ако ($ tek_day<10)
$ Tek_day = "0" $ tek_day .;
>
$ An_year = SUBSTR върху ($ tek_year, 2, 2);
Изтеглете съдържанието на страницата, използвайки
LWP модул.
ако ($ url_page $ Url_page =
/ ^ (HTTPS | FTP | файл | NNTP?): \ / \ //)
ми $ REQ = нов HTTP :: Заявка ( "GET '=> $ url_page);
ми $ ВЕИ = $ UA-> поискване ($ REQ);
$ Gabarit = $ ВЕИ> съдържание;
>
Външен CSS = '\ N ";
документира HTML =
ми $ analyseur = HTML :: LinkExtor-> нов;
$ Analyseur-> синтактична ($ gabarit);
моите @l = $ analyseur-> връзки; foreach ми $ URL (@l)
ми $ urlAbs = URI :: WithBase-> нов ($$ URL [2], $ racinePage) -> ABS;
Chomp $ urlAbs;
ако (($$ URL [0] екв "а") ($$ URL [1] екв "HREF) ($$ URL [2])
(($$ URL [2]!
? S / \ е HREF = [ " ']? $$ URL [2] ["'] / HREF = "$ urlAbs" / gimx;
>
>
Изберете от всички изображения на документа,
изтегляне на изображението, определя вида и
върнете го кодирани в MIME.
ако (((LC ($$ URL [0]) екв "IMG) || (LC ($$ URL [0]) екв
"Src")))
лицеви (@mail, create_image_part ($ urlAbs));
>
ако (LC ($ Ур) =
/ JPG $ /)
$ Type = "изображение / JPG";
>
още
$ Тип = "прилагане / х-ударна вълна флаш";
>
ми $ res2 = $ UA-> поискване (нов HTTP :: Заявка ( "GET '=> $ Ур));
$ Buff1 = $ res2-> съдържание;
$ FILE_NAME = SUBSTR върху ($ Ур, rindex ($ Ур, "/") + 1, дължина ($ Ур));
# Възхвала следващата моя снимка
$ Mail = нов MIME :: Lite (Data => $ buff1, Encoding => 'base64 "," Име на файл' => $ име_файл);
$ Mail-> ATTR ( "Съдържание тип '=> $ тип); $ Mail-> ATTR ( "Content-Местонахождение '=> $ Ур);
Създаване на MIME обект, уточни от кого и
За да пишете тема. ако
изображение на страницата там - вида на текста на съобщението / HTML,
Ако има снимки - съставно / свързани.
$ Mail = нов MIME :: Lite "От '=>' [email protected]"
"До" => $ to_email, "Тема" => $ url_page, "Data '=> $ HTML; $ Mail-> ATTR ( "Content-Type"
=> $ CONTENT_TYPE);
ако (@mail)
$ Mail-> замени ( "Тип" => "съставното / свързани");
# Присъединяване всяка снимка
foreach (@mail)>
>
Позовавайки страница на някого. мога
използвате SMTP или Sendmail.
Сложете сценария в директорията, където
разрешено за стартиране на програми и направи
изпълним файл
коригират 750 /usr/local/www/cgi-bin/html_on_email3.pl
Най-накрая да всички
автоматизира, виси нашия скрипт на CRON.
За да направите това, на файл / и т.н. / старица, за да добавите линии
0 9 * корен /usr/local/www/cgi-bin/html_on_email3.pl
и всяка сутрин в 9:00 четем прясно
анекдоти.
В заключение, искам да отбележа, че всичко е възможно
да пиша по различен начин, по-красива.
Но програмата работи, както и повече от него, и
не се изисква 🙂
Покажете тази статия на приятел:
Разширението за Chrome, предназначена за защита на потребителите, да открадне информация от LinkedIn и Facebook
Нова Bunker IcedID е все още в процес на разработване, но това показва, модерни инженерни атаки
Хакерите са помогнали на Пентагона за премахване на хиляди уязвимости
Победителите от цялата страна ще се съберат в Купата на България в CTF Сколково