Witam. Chciałbym pobrać źródło strony w C. Posiadam taki kod, ale zwraca on html strony głównej a ja chce żeby zwrócił html np strony Wprowadzenie do wątków
Co ja robie źle?
char buffer1[1024];
char *mess;
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2), &wsaData) != 0) {
MessageBox(NULL, buffer1,"WSA startup failed",MB_ICONINFORMATION|MB_OK);
system("pause");
return 1;
}
SOCKET Socket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
struct hostent *host;
host = gethostbyname("http://4programmers.net/");
SOCKADDR_IN SockAddr;
SockAddr.sin_port=htons(80);
SockAddr.sin_family=AF_INET;
SockAddr.sin_addr.s_addr = *((unsigned long*)host->h_addr);
//MessageBox(NULL, buffer1,"Connecting",MB_ICONINFORMATION|MB_OK);
if(connect(Socket,(SOCKADDR*)(&SockAddr),sizeof(SockAddr)) != 0){
MessageBox(NULL, buffer1,"Could not connect",MB_ICONINFORMATION|MB_OK);
system("pause");
return 1;
}
//MessageBox(NULL, buffer1,"Connected",MB_ICONINFORMATION|MB_OK);
mess = "GET /?st=1 HTTP/1.1\r\nHost: http://4programmers.net/C_sharp/Wprowadzenie_do_w%C4%85tk%C3%B3w\r\n\r\n";
if(send(Socket , mess , strlen(mess) , 0) < 0)
{
}
char buffer[7000];
int nDataLength;
// MessageBox(NULL, buffer,"test2",MB_ICONINFORMATION|MB_OK);
while ((nDataLength = recv(Socket,buffer,7000,0)) > 0){
//int i = 0;
MessageBox(NULL, buffer, "Connecting",MB_ICONINFORMATION|MB_OK);
while (buffer[i] >= 32 || buffer[i] == '\n' || buffer[i] == '\r') {
MessageBox(NULL, buffer, "Connecting",MB_ICONINFORMATION|MB_OK);
i += 1;
}
}
closesocket(Socket);
WSACleanup();