HTTP-GET senden und empfangen [C++ | WinSock2]



  • Ich will mithilfe einer HTTP-Anweisung die Startseite von z.B. c-plusplus.net als HTML anfordern, das Ergebnis empfangen und ausgeben. Wie kann ich das machen und wie sähe der Code aus?



  • Willst du HTTP selbst implementieren?

    Falls nicht, guck' dir mal die COM Klasse WinHttp.WinHttpRequest an - mit der kann man relativ angenehm arbeiten.
    Bzw. HTTP Client Libraries wie libcurl.

    Dann gäbe es noch die Möglichkeit einfach ein externes Programm wie wget aufzurufen, das geht auch relativ angenehm.

    Falls du es aber wirklich "zu Fuss" mit Sockets implementieren willst, dann fürchte ich ist das alles in allem etwas viel für eine einfache "wie sähe der Code aus" Frage.

    Klar, man kann schon einen relativ einfachen HTTP Client bauen - dann kommt man auch mit ein paar Zig bis Hundert Zeilen aus. Bloss hat man dann auch einen ziemlich schlechten HTTP Client. Der kann dann keine Redirections, kein HTTPS, kein gar nix.
    Wenn es nicht ums Lernen geht würde ich i.A. davon abraten das zu machen. Man hat damit bloss mehr Arbeit für ein schlechteres Ergebnis.



  • hustbaer schrieb:

    Willst du HTTP selbst implementieren?

    Falls nicht, guck' dir mal die COM Klasse WinHttp.WinHttpRequest an - mit der kann man relativ angenehm arbeiten.
    Bzw. HTTP Client Libraries wie libcurl.

    Dann gäbe es noch die Möglichkeit einfach ein externes Programm wie wget aufzurufen, das geht auch relativ angenehm.

    Falls du es aber wirklich "zu Fuss" mit Sockets implementieren willst, dann fürchte ich ist das alles in allem etwas viel für eine einfache "wie sähe der Code aus" Frage.

    Klar, man kann schon einen relativ einfachen HTTP Client bauen - dann kommt man auch mit ein paar Zig bis Hundert Zeilen aus. Bloss hat man dann auch einen ziemlich schlechten HTTP Client. Der kann dann keine Redirections, kein HTTPS, kein gar nix.
    Wenn es nicht ums Lernen geht würde ich i.A. davon abraten das zu machen. Man hat damit bloss mehr Arbeit für ein schlechteres Ergebnis.

    Okay, danke für die Verweise. Ich werd sie mir angucken und hoffentlich was lernen, im Internet hab ich bis jetzt noch net so viel dazu gefunden.


Log in to reply