Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » problem mit http und wininet

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.01.2008, 11:51 Uhr
BoBtheREapER
kein job für nen BoB


ich möchte eine Bild Datei z.B. das google Logo im gif Format öfnen und sie dann auf meiner HD speichern. Dazu erstelle ich mit der wininet API eine Verbindung über das http Protoll, lade mir die Daten runter und speichere sie. Für normale Text oder html Dateien funktioniert das ohne Probleme aber bei gif oder jpeg kommt nur Datenmüll rum.

C++:
HINTERNET hConnect = InternetOpen("InetURL/1.0", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
hConnect = InternetConnect(hConnect, "www.google.de", INTERNET_DEFAULT_HTTP_PORT, "ImageLoad", NULL, INTERNET_SERVICE_HTTP, NULL, NULL);
const char* type = "image/gif";
HINTERNET hHttpRequest = HttpOpenRequest( hConnect, "GET", "/intl/de_de/images/logo.gif", "HTTP/1.1", NULL, &type, INTERNET_FLAG_KEEP_CONNECTION,0);
file.open("google.gif", std::ios::binary | std::ios::out);
if(!HttpSendRequest(hHttpRequest,NULL, NULL, NULL, NULL))
    std::cout << GetLastError() << std::endl;
else
{
    DWORD avable;
    while(InternetQueryDataAvailable(hHttpRequest, &avable, 0, 0))
    {
        char* buffer = (char*) malloc(avable + 1);
        DWORD end;
        InternetReadFile(hHttpRequest, buffer, avable, &end);
        if(end == 0)
        {
            break;
        }
        file << buffer;
    }
}
InternetCloseHandle(hHttpRequest);
file.close();


Hat jemand eine Ahnung was ich falsch mache?
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu

Dieser Post wurde am 20.01.2008 um 11:53 Uhr von BoBtheREapER editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.01.2008, 12:48 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


file << buffer

geht schief, da er beim ersten \0 abbricht, und sowas kommt in ner binary-file öfter vor ;-)

file.write

oder sowas müsste es ja geben
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.01.2008, 13:14 Uhr
BoBtheREapER
kein job für nen BoB


stimmt hat geholfen. danke
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: