Hello all,
I am trying to make a program to get html code from a web site. I have this code which is partly taken from another example i found on the internet. My problem is that when i run the program it hangs... for 10 min. I just cancelled it after that.
Can anyone tell me why the program is hanging or if maybe something in my code is wrong?
Code:#include <iostream> #include <windows.h> #include <winsock2.h> #include <string> using namespace std; int main() { WSADATA wsaData; WORD version; int error; version = MAKEWORD(2, 0); error = WSAStartup(version, &wsaData); if(error != 0) { return FALSE; } if( LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 0) { WSACleanup(); return FALSE; } cout << "Winsock initialized" << endl; SOCKET client; client = socket(AF_INET, SOCK_STREAM, 0); if(client == INVALID_SOCKET) { cout << "Socket init failed" << endl; fflush(stdin); cin.get(); WSACleanup(); return FALSE; } sockaddr_in sockin; sockin.sin_port = htons(80); sockin.sin_addr.s_addr = inet_addr("216.239.136.165"); sockin.sin_family = AF_INET; if(connect(client, (sockaddr*)&sockin, sizeof(sockin)) == SOCKET_ERROR) { cout << "Connection failed: " << WSAGetLastError(); fflush(stdin); cin.get(); WSACleanup(); return FALSE; } else { cout << "Connection made to 216.239.136.165" << endl; } cout << "---------------------------" << endl; char buffer[1024]; /*for(int i = 0; i < 1024; i++) { buffer[i] = '\0'; }*/ char welcome[] = "GET / HTTP/1.1\r\n"; strcat(welcome, "Host: asdf.com\r\n"); strcat(welcome, "Connection: close\r\n"); //strcat(welcome, "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/;q=0.5\r\n"); //strcat(welcome, "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3\r\n"); //strcat(welcome, "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"); //strcat(welcome, "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3\r\n"); //strcat(welcome, "Referer: http://pozzyx.net/\r\n"); strcat(welcome, "\r\n"); cout << "Request:: " << endl << welcome << endl; send(client, welcome, sizeof(welcome), 0); string Source = ""; int i = 0; do { i = recv(client, buffer, sizeof(buffer), 0); Source += buffer; }while (i != 0); cout << Source << endl; cout << endl << "Done." << endl; WSACleanup(); fflush(stdin); cin.get(); }



LinkBack URL
About LinkBacks


