#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();
}