ドメイン名からIPアドレスをゲットする。
Networkプログラミングの初歩の初歩。
とりあえずドメイン名から、IPを取得しましょう。
#include <stdio.h> #include <stdlib.h> #include <netdb.h> int main(void){ struct hostent *he; if((he=gethostbyname("www.google.com"))==NULL) exit(1); printf("---\n"); printf("%d.%d.%d.%d\n", (unsigned char)*((he->h_addr_list[0])), (unsigned char)*((he->h_addr_list[0])+1), (unsigned char)*((he->h_addr_list[0])+2), (unsigned char)*((he->h_addr_list[0])+3)); return 0; }
関数について
#include <netdb.h> struct hostent *gethostbyname(const char *hostname);
構造体について
struct hostent{ char *h_name; //hostname char **h_aliases; //hostname list int h_addrtype; //address type int h_length; //length of address char **h_addr_list; // address list #define h_addr h_addr_list[0] }
参考図書:

基礎からわかるTCP/IP ネットワーク実験プログラミング―Linux/FreeBSD対応
- 作者: 村山公保
- 出版社/メーカー: オーム社
- 発売日: 2004/10
- メディア: 単行本
- 購入: 4人 クリック: 43回
- この商品を含むブログ (13件) を見る