boost::asio und read_until



  • Hallo!

    Ich benutze boost::asio um über http eine Datei herunterzuladen. Der HTTP-Header soll dabei ausgegeben werden:

    //...
      asio::streambuf sb;
      asio::read_until(socket, sb, "\r\n\r\n");
      istream is(&sb);
      string s;
      getline(is, s, '\0');
      cout << s;
      //...
    

    Allerdings wird neben dem HTTP-Header auch die erste Zeile der eigentlichen Datei ausgegeben (Zeile 10):

    HTTP/1.1 200 OK
    Date: Wed, 19 Dec 2007 17:52:11 GMT
    Server: Apache
    Last-Modified: Wed, 19 Dec 2007 16:44:52 GMT
    Accept-Ranges: bytes
    Content-Length: 3874545
    Connection: close
    Content-Type: audio/mpeg
    
    ID3
    

    read_until scheint hier also noch ein bisschen weiter zu lesen als bis zum "\r\n\r\n". Warum? Die Dokumentation hilft mir leider nicht weiter.

    Danke im Voraus
    MfG
    netWorker :xmas1:




Anmelden zum Antworten