[C/C++] HTTP-Request

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von myth2806, 15. Oktober 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 15. Oktober 2006
    HTTP-Request

    Hi leutz,

    ich wollte ein einfaches kleines Programm schreiben was einfach nur einen HTTP-Request an einen Server schickt und die Sntwort ausgibt. Im besten Falle den Sourcecode der Seite die ich angefordert habe.
    Leider funktioniert das nicht so ganz wie ich mir das vorstelle: Ich weiss nicht wie der gültige HTTP-Request auszusehen hat.
    Laut Wikipedia so:

    Code:
    GET /infotext.html HTTP/1.1
    Host: www.example.net
    
    naja dass schon allein kann ich nicht richtig in eine Variable verpacken.
    Entweder bekomme ich vom Server die antort dass mein request ungültig wäre oder es kommt gar nichts.

    Hier der src von meinem Programm:

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #include <winsock.h>
    #include <winsock2.h>
    #include <io.h>
    #include <string.h>
    
    #define BUFFER_SIZE 4096
    
    int main()
    {
     int tmp;
     
     char buf[BUFFER_SIZE] = "GET /infotext.html HTTP/1.1 \
     Host: www.example.net";
    
     
     WORD wVersionRequested;
     WSADATA wsaData;
     wVersionRequested = MAKEWORD (1, 1);
     if (WSAStartup (wVersionRequested, &wsaData) != 0)
     {
     printf( "Fehler beim Initialisieren von Winsock\n");
     exit(-1);
     }
     else
     {
     printf("Winsock initialisiert\n");
     }
     
     struct sockaddr_in addr;
     
     addr.sin_family = AF_INET;
     addr.sin_port = htons(80);
     addr.sin_addr.s_addr = inet_addr("194.150.178.34");
     
     SOCKET sock;
     sock = socket(AF_INET,SOCK_STREAM,0);
     if (sock == INVALID_SOCKET)
     {
     printf ("error while socket\n");
     perror ("reason");
     exit(-1);
     }
     
     printf ("connecting ...\n");
     
     if (connect(sock,(struct sockaddr*)&addr,sizeof(addr)) == SOCKET_ERROR)
     {
     printf("error while connect\n");
     perror("reason");
     exit(-1);
     }
     
     if (send(sock,buf,strlen(buf),0) == -1)
     {
     printf("error while send\n");
     perror("reason");
     exit(-1);
     }
     
     tmp = recv(sock,buf,sizeof(buf),0);
     if(tmp == -1)
     {
     printf("error while recv\n");
     perror("reason");
     exit(-1);
     }
     
     buf[tmp] = '\0';
     close(sock);
     
     printf ("-> \"%s\"\n\n",buf);
     system("Pause");
     
     return 0;
    }
    
    greez myth
     

  2. Anzeige
  3. #2 15. Oktober 2006
    AW: HTTP-Request

    Code:
     char buf[BUFFER_SIZE] = "GET /infotext.html HTTP/1.1 \";
    Versuch es mal so
     
  4. #3 15. Oktober 2006
    AW: HTTP-Request

    ne so gehts nicht... habs inzwischen rausgefunden.
    für alle die es interessiert, so gehts:

    Code:
    char buf[] = "GET / HTTP/1.0\nHost: www.google.de\n\n";
    
    greez myth

    //closed
     

  5. Videos zum Thema
Die Seite wird geladen...
Similar Threads - C++ HTTP Request
  1. Antworten:
    10
    Aufrufe:
    5.554
  2. Antworten:
    11
    Aufrufe:
    653
  3. Antworten:
    2
    Aufrufe:
    934
  4. Antworten:
    1
    Aufrufe:
    515
  5. Antworten:
    0
    Aufrufe:
    289