#include #include #include #include #include #include #include #include #include main(int argc, char *argv[]) { //Handle za socket int mySocket; //struktura z IP naslovom, ipd struct sockaddr_in remoteAddress; //Bufferji char transmitBuffer[4096]; char recieveBuffer[4096]; //DNS resolve hosto iz command lina v IP struct hostent *hostEntry = gethostbyname(argv[1]); //Naredi socket mySocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if(mySocket == -1) exit(1); //ce ni uspelo, umri z kodo 1 //Vnesi v naslov za socket protokol, IP naslov in port remoteAddress.sin_family = AF_INET; bcopy(hostEntry->h_addr, &(remoteAddress.sin_addr.s_addr), hostEntry->h_length); remoteAddress.sin_port = htons(80); //Povezi se, ali umri z kodo 2 if(connect(mySocket, &remoteAddress, sizeof(remoteAddress)) != 0) exit(2); //vnesi request v buffer strcpy(transmitBuffer, "GET / HTTP/1.0\r\n\r\n"); //zacasna spremenljivka za dolzino int len; //Poslji in ujemi poslano dolzino len = send(mySocket, transmitBuffer, strlen(transmitBuffer), 0); if(len == -1) exit (3); //Ce nisi poslal nic, umri z kodo 3 //Preberi odgovor z socketa (opomba: ta stvar fizicno caka da server odgovori) len = recv(mySocket, recieveBuffer, sizeof(recieveBuffer), 0); if(len == -1) exit (4); //Ce si dobil nekaj kar nima dolzine (napako), umri z kodo 4 //Zapri socket close (mySocket); //Se ena zacasna int i; //spremeni \n\n (konec headerja) v konec stringa for(i=2;i