ПредишенСледващото

В тази статия ще научите как да
Използване на Perl модули LWP :: UserAgent и MIME :: Lite изтегляне
HTML страница и да го изпратите в писмо, заедно с
всички вградени изображения.

Използването на по-горе метод, I дневно
Аз получите най-новите вицове в електронната си поща
кутия - добре, прекалено мързеливи, за да ми всеки ден да се изкачи в Интернет
🙂

  • LWP :: UserAgent - клас по поръчка
    агенти WWW
  • MIME :: Lite - Lite MIME енкодер / декодер
  • URI :: URL - работа с URL
  • HTML :: LinkExtor - да получите списък на всички от URL адреса в
    документ

  • Време :: Local - Преобразува пълни компоненти
    Време в секунди
  • Сайт анекдоти / една / година месец / о година месец 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 Сколково

    Подкрепете проекта - споделете линка, благодаря!