rendered paste body#include <netdb.h>
#include <netinet/in.h>
#include <unistd.h>
#include <iostream>
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;
}