evidence
04.06.2002, 19:38
Hi!
Ich hab mir vor kurzem das RFC 2068 (HTTP/1.1) ein bissl durchgelesen. Hab mir einen Webserver runtergeladen und mich gleich mit telnet verbunden. Über Telnet hat das ganze ganz gut geklappt!
telnet localhost 80
GET / HTTP/1.1" 304 - "" "Testoperation"
Host: localhost
Da bekam ich schon was vom Webserver. Und angezeigt wurde auch das ein Verbindungsversuch erfolgte.
Jetzt hab ich versucht das ganze in ein C Programm umzusetzen:
#include <windows.h>
#include <stdio.h>
#include <conio.h>
int startWinsock(void);
int main()
{
char sen[100];
long rc;
SOCKET s;
SOCKADDR_IN addr;
rc=startWinsock();
s=socket(AF_INET,SOCK_STREAM,0);
memset(&addr,0,sizeof(SOCKADDR_IN));
addr.sin_family=AF_INET;
addr.sin_port=htons(80);
addr.sin_addr.s_addr=inet_addr("127.0.0.1");
rc=connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR));
if(rc!=SOCKET_ERROR)
{
strcpy(sen,"GET / HTTP/1.1\" 304 - \"\" \"Testoperation\"\nHost: localhost\n");
printf("%s",sen);
rc=send(s,sen,100,0);
printf("gesendet!");
}
}
int startWinsock(void)
{
WSADATA wsa;
return WSAStartup(MAKEWORD(2,0),&wsa);
}
Er schreibt zwar "gesendet!" aber es wird kein Verbindungsversuch angezeigt! Warum funktioniert das nicht? Hab mir drüber schon den ganzen Tag den Kopf zerbrochen! Kann es sein das ich kein CR senden kann?? Warum geht das mit \n nicht?
Danke schon im vorraus!
Mfg Evidence
Ich hab mir vor kurzem das RFC 2068 (HTTP/1.1) ein bissl durchgelesen. Hab mir einen Webserver runtergeladen und mich gleich mit telnet verbunden. Über Telnet hat das ganze ganz gut geklappt!
telnet localhost 80
GET / HTTP/1.1" 304 - "" "Testoperation"
Host: localhost
Da bekam ich schon was vom Webserver. Und angezeigt wurde auch das ein Verbindungsversuch erfolgte.
Jetzt hab ich versucht das ganze in ein C Programm umzusetzen:
#include <windows.h>
#include <stdio.h>
#include <conio.h>
int startWinsock(void);
int main()
{
char sen[100];
long rc;
SOCKET s;
SOCKADDR_IN addr;
rc=startWinsock();
s=socket(AF_INET,SOCK_STREAM,0);
memset(&addr,0,sizeof(SOCKADDR_IN));
addr.sin_family=AF_INET;
addr.sin_port=htons(80);
addr.sin_addr.s_addr=inet_addr("127.0.0.1");
rc=connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR));
if(rc!=SOCKET_ERROR)
{
strcpy(sen,"GET / HTTP/1.1\" 304 - \"\" \"Testoperation\"\nHost: localhost\n");
printf("%s",sen);
rc=send(s,sen,100,0);
printf("gesendet!");
}
}
int startWinsock(void)
{
WSADATA wsa;
return WSAStartup(MAKEWORD(2,0),&wsa);
}
Er schreibt zwar "gesendet!" aber es wird kein Verbindungsversuch angezeigt! Warum funktioniert das nicht? Hab mir drüber schon den ganzen Tag den Kopf zerbrochen! Kann es sein das ich kein CR senden kann?? Warum geht das mit \n nicht?
Danke schon im vorraus!
Mfg Evidence