반응형
#define WIN32_LEAN_AND_MEAN // windows.h 에서 자주 사용하지 않은 것은 컴파일에서 제외 한다. // winsock2.h외의 충돌을 막아 준다. #include<stdio.h> #include<windows.h> #include<winsock2.h> #pragma comment(lib, "ws2_32.lib") void main() { WSADATA wsadata; //if(WSAStartup(0x0202, &wsadata) != 0) //0x0202는 뒤에서부터 읽어서 2.2버젼을 쓰라는 이야기다. if(WSAStartup(MAKEWORD(2,2), &wsadata) != 0) //많이 사용... 앞에서 부터 읽는다. { printf("Can't Initialize Socket !\n"); return ; } //------------------------------------------ char url[256] = { 0 }; printf("접속할 URL을 입력하세요 >> "); scanf("%s",url);fflush(stdin); //URL -> IP로 변경하기. HOSTENT * p = gethostbyname(url); int index = 0; while(p->h_addr_list[index]) { in_addr addr = *((in_addr *)(p->h_addr_list[index])); printf("IP Address : %s\n", inet_ntoa( addr )); index++; } //------------------------------------------ in_addr serverip = *((in_addr *)(p->h_addr_list[0])); SOCKET s = socket( AF_INET, SOCK_STREAM, 0 ); SOCKADDR_IN addr_in = { 0 }; addr_in.sin_family = AF_INET; addr_in.sin_port = htons(80);//웹서버 포트번호 addr_in.sin_addr = serverip; if(connect(s, (SOCKADDR* )&addr_in, sizeof(addr_in)) == -1) { printf("Can't connect to server!!\n"); closesocket(s); return ; } printf("Connected server!!\n"); //서버에 HTTP 요청 팻킷을 보낸다. char buf[256] ="GET / HTTP/1.0\r\n\r\n"; //strcpy(buf, url); send(s, buf, strlen(buf)+1, 0); //서버에서 오는 data를 수신한다. char data[4096] = { 0}; recv(s, data, 4096, 0 ); printf("%s\n",data); closesocket(s); //------------------------------------------ WSACleanup(); }
//URL로 IP얻어오기
#define WIN32_LEAN_AND_MEAN // windows.h 에서 자주 사용하지 않은 것은 컴파일에서 제외 한다. // winsock2.h외의 충돌을 막아 준다. #include<stdio.h> #include<windows.h> #include<winsock2.h> #pragma comment(lib, "ws2_32.lib") void main() { WSADATA wsadata; //if(WSAStartup(0x0202, &wsadata) != 0) //0x0202는 뒤에서부터 읽어서 2.2버젼을 쓰라는 이야기다. if(WSAStartup(MAKEWORD(2,2), &wsadata) != 0) //많이 사용... 앞에서 부터 읽는다. { printf("Can't Initialize Socket !\n"); return ; } //------------------------------------------ char url[256] = { 0 }; printf("접속할 URL을 입력하세요 >> "); scanf("%s",url);fflush(stdin); //URL -> IP로 변경하기. HOSTENT * p = gethostbyname(url); in_addr addr = *((in_addr *)(p->h_addr_list[0])); printf("IP Address : %s\n", inet_ntoa( addr )); //------------------------------------------ WSACleanup(); }
반응형
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."