아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Email-parsing

시간 제한1초메모리 제한1024 MB

요약
RFC 2822 형식의 multipart/alternative 이메일을 파싱해 text/plain 또는 text/html 중 선호하는 부분을 고르고, 필요하면 quoted-printable을 해독한 뒤 본문만 출력한다.
난이도

보통10점 중 6점

유형
문자열, 구현, 시뮬레이션, 문자열 매칭
정답자
아직 제출이 없습니다

문제

Nyckelorden MÅSTE, MÅSTE INTE, KRÄVS, SKALL, SKALL INTE, BÖR, BÖR INTE, REKOMMENDERAS, FÅR, FRIVILLIGT i denna uppgiftslydelse skall tolkas som beskriver i RFC 2119.

För att lösa denna uppgift REKOMMENDERAS det att läsa följande specifikationer:

Du kommer få email i formatet som beskrivs av RFC 2822.  Din uppgift är att hitta en föredragen del i detta email, vars innehåll är ett MIME-meddelande, som specifierat i RFC 2045 och RFC 2046. Texten i denna del SKALL du sedan skriva ut.

Meddelandet kommer alltid vara av typen multipart/alternative. Den föredragna delen i meddelandet är antingen av typen text/html, som beskrivs i RFC 1866, eller typen text/plain, som beskrivs i RFC 3676. Teckenkodningen kommer att vara ASCII, som beskriven i RFC 20.

För enkelhets skull kommer varje rad att termineras med en enkel LF i stället för en CRLF som i vanlig HTTP 1.1 (beskriven i RFC 2616).

Till skillnad från en riktig email-klient FÅR du anta att saker och ting kommer att vara snälla. T.ex. kommer HTML-en i en text/html-del alltid validera.

입력

Indata innehåller ett email, se exempel nedan.

출력

Du SKALL skriva ut den extraherade texten och inget annat. Extra nyrader i början/slutet är FRIVILLIGT.

제한

Endast i den tredje gruppen kommer kodningen vara "Content-Transfer-Encoding: quoted-printable". I de övriga kommer den att vara "7bit".

예제2

  1. 예제 1

    입력
    MIME-Version: 1.0
    Received: by 10.112.236.98 with HTTP; Thu, 28 Jan 2016 10:57:40 -0800 (PST)
    Date: Thu, 28 Jan 2016 19:57:40 +0100
    Delivered-To: simon.lindholm10@gmail.com
    Message-ID: <CAK=Tff0+3K4tXGvYh+VG-qP6Ldz+q-+jaZW2Q01dkL4fDQxGkw@mail.gmail.com>
    Subject: test
    From: Simon Lindholm <simon.lindholm10@gmail.com>
    To: simonlindholm@fastmail.fm
    Content-Type: multipart/alternative; boundary=001a11c269f42ab6b0052a697e72
    
    --001a11c269f42ab6b0052a697e72
    Content-Type: text/plain; charset=UTF-8
    
    a test
    
    --001a11c269f42ab6b0052a697e72--
    
    예상 출력
    a test
    
  2. 예제 2

    입력
    Delivered-To: simon.lindholm10@gmail.com
    Received: by 10.112.155.195 with SMTP id vy3csp710980lbb;
            Thu, 28 Jan 2016 14:08:38 -0800 (PST)
    Return-Path: <simonlindholm@fastmail.fm>
    Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com. [66.111.4.27])
            by mx.google.com with ESMTPS id wb3si19310522pab.114.2016.01.28.14.08.37
            for <simon.lindholm10@gmail.com>
            (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
            Thu, 28 Jan 2016 14:08:37 -0800 (PST)
    Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
            by mailout.nyi.internal (Postfix) with ESMTP id 965F620767
            for <simon.lindholm10@gmail.com>; Thu, 28 Jan 2016 17:08:34 -0500 (EST)
    Received: from web5 ([10.202.2.215])
      by compute2.internal (MEProxy); Thu, 28 Jan 2016 17:08:34 -0500
    Received: by web5.nyi.internal (Postfix, from userid 99)
            id 26696A70216; Thu, 28 Jan 2016 17:08:34 -0500 (EST)
    Message-Id: <1454018914.1678085.505620754.5295DB0C@webmail.messagingengine.com>
    From: Simon Lindholm <simonlindholm@fastmail.fm>
    To: Simon Lindholm <simon.lindholm10@gmail.com>
    MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Type: multipart/alternative; boundary="_----------=_145401891416780850";
      charset="utf-8"
    Subject: Re: test
    Date: Thu, 28 Jan 2016 23:08:34 +0100
    In-Reply-To: <CAK=Tff0+3K4tXGvYh+VG-qP6Ldz+q-+jaZW2Q01dkL4fDQxGkw@mail.gmail.com>
    References: <CAK=Tff0+3K4tXGvYh+VG-qP6Ldz+q-+jaZW2Q01dkL4fDQxGkw@mail.gmail.com>
    
    This is a multi-part message in MIME format.
    
    --_----------=_145401891416780850
    Content-Transfer-Encoding: 7bit
    Content-Type: text/plain
    
    a reply
    
    On Thu, 28 Jan 2016, at 07:57 PM, Simon Lindholm wrote:
    > a test
    
    --_----------=_145401891416780850
    Content-Transfer-Encoding: 7bit
    Content-Type: text/html
    
    <!DOCTYPE html>
    <html>
    <head>
    <title></title>
    </head>
    <body><div>a reply<br></div>
    <div> </div>
    <div>On Thu, 28 Jan 2016, at 07:57 PM, Simon Lindholm wrote:<br></div>
    <blockquote type="cite"><div dir="ltr">a test<br></div>
    </blockquote><div> </div>
    </body>
    </html>
    
    --_----------=_145401891416780850--
    
    
    예상 출력
    
    a reply
    
    On Thu, 28 Jan 2016, at 07:57 PM, Simon Lindholm wrote:
    a test