000
16.04.2004, 19:20 Uhr
Holger1976
|
Mein kleiner Client ruft den Html Code einer Seite wie www.google.de/index.html eigentlich ganz schön auf. Wenn ich zum Beispiel www.yahoo.de/index.html aufrufe, passiert gar nichts. Aber auch keine Fehlermeldung, nichts. Sieht jemand einen Fehler im Code unten? Ciao, Holger
C++: |
char* ConnectServer() { //Erzeuge die Socketadresse des Servers. Sie besteht aus Typ, IP-Adresse und Portnummer struct sockaddr_in server; struct hostent* Host_Info = NULL; //Url ist eine numerische IP-Adresse memset(&server, 0, sizeof (server)); if ((Addr = inet_addr(Host)) != INADDR_NONE) memcpy(&server.sin_addr, Host_Info->h_addr, Host_Info->h_length); //Wandle den Servernamen in eine IP-Adresse um //else Host_Info = gethostbyname(Host); if (NULL == Host_Info) { cerr << "Unbekannter Server: "<< Host; exit(1); } else memcpy( (char *)&server.sin_addr, Host_Info->h_addr, Host_Info->h_length); //Portnummer des Dienstes ermitteln //Nornmalerweise 80, aber sicher ist sicher :-) servent* serviceinfo = getservbyname ("http", "tcp"); server.sin_port = serviceinfo->s_port; server.sin_family = AF_INET; //Baue die Verbindung zum Server auf if (connect( Sock, (struct sockaddr*)&server, sizeof( server)) < 0) { cerr << "Kann Verbindung zum Server nicht aufbauen"; exit(1); } //Erzeuge und sende den http GET request sprintf( Buffer, "GET /%s HTTP/1.1\n\ Accept: image/gif, image/x-xbitmap, image/jpeg, imagew/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, \n\ User-Agent: SocketClass/1.0\n\ Host: %s:80\n\ Cache-Control: no-cache\n\ Connection: close\n\ \n",Path, Host);
//Überprüfen ob send Anfrage //angekommen ist Bytes_Sent = send (Sock, Buffer, strlen (Buffer), 0); if (Bytes_Sent == -1) { cerr << "Fehler bei Sendeanfrage"; exit (1); } return 0; }
|
|