#include #include #include #include using namespace std; int main() { int fp; char buffer[1024]; struct sockaddr_in serverAddress; struct hostent *hostInfo; char header[] = "GET / HTTP/1.1\r\nHost: www.google.com\r\nConnection: Close\r\n\r\n"; hostInfo = gethostbyname("www.google.com"); fp = socket(AF_INET, SOCK_STREAM, 0); if(fp < 0) { cerr << "cannot create socket!\n"; exit(1); } serverAddress.sin_family = hostInfo->h_addrtype; memcpy((char *) &serverAddress.sin_addr.s_addr, hostInfo->h_addr_list[0], hostInfo->h_length); serverAddress.sin_port = htons(80); if (connect(fp, (struct sockaddr *) &serverAddress, sizeof(serverAddress)) < 0) { cerr << "connection failed.\n"; exit(1); } if(send(fp, header, 60, 0) < 0) { cerr << "cannot send data.\n"; close(fp); exit(1); } if(recv(fp, buffer, 1024, 0) < 0) { cerr << "no response from server."; close(fp); exit(1); } cout << buffer << "\n--end data--\n"; return 0; }