URLを入力しそのサーバーのIPアドレスを取得するというプログラムを作りたいのですが
まったくやり方がわかりません
検索をかけてもnslookupしか出てきません
DXライブラリにもそういった関数はついていないので
どうすればいいのか教えていただけないでしょうか
開発環境
OS:WindowsXP
エディタ:VisualStudio2010
ライブラリ:DXライブラリ
URLからIPアドレスを取得
Re:URLからIPアドレスを取得
socketプログラミングですね。
こういった回答が適切かはわかりませんが、該当するのは下記の関数です。
この関数をキーワードに検索して見るとすぐに、サンプルコードが見つかると思いますよ。
gethostbyname
getaddrinfo
こういった回答が適切かはわかりませんが、該当するのは下記の関数です。
この関数をキーワードに検索して見るとすぐに、サンプルコードが見つかると思いますよ。
gethostbyname
getaddrinfo
Re:URLからIPアドレスを取得
DXライブラリから離れてしまいますが、以下のようにしてホスト名から
IPアドレスを求めることができます。
===============GetIPaddr.cpp=============================================
#include <stdio.h>
#include <winsock2.h>
int main() {
LPHOSTENT host;
WSADATA wsaData;
char hostname[/url]="www.google.co.jp"; //試しにgoogleのアドレス
IN_ADDR inaddr;
int i,addr1,addr2,addr3,addr4;
WSAStartup(2 , &wsaData);
host = gethostbyname(hostname);
printf("IPアドレス = %d.%d.%d.%d\n" ,(BYTE)*((host->h_addr_list[0])) ,(BYTE)*((host->h_addr_list[0]) + 1) ,(BYTE)*((host->h_addr_list[0]) + 2) ,(BYTE)*((host->h_addr_list[0) + 3));
WSACleanup();
return 0;
}
===================================================================
====実行結果======================================================
C:\GetIPaddr>GetIPaddr.exe
IPアドレス = 66.249.89.104
================================================================
大変申し訳ないのですが、
エラー処理はしていませんので、実行する際は確実にgoogleにアクセス出来る状態で実行してください。
配列へのポインタになっているべき理由があるはずなのですが自分にはわかりませんでした。
あと、URLからではなくてすみません。
IPアドレスを求めることができます。
===============GetIPaddr.cpp=============================================
#include <stdio.h>
#include <winsock2.h>
int main() {
LPHOSTENT host;
WSADATA wsaData;
char hostname[/url]="www.google.co.jp"; //試しにgoogleのアドレス
IN_ADDR inaddr;
int i,addr1,addr2,addr3,addr4;
WSAStartup(2 , &wsaData);
host = gethostbyname(hostname);
printf("IPアドレス = %d.%d.%d.%d\n" ,(BYTE)*((host->h_addr_list[0])) ,(BYTE)*((host->h_addr_list[0]) + 1) ,(BYTE)*((host->h_addr_list[0]) + 2) ,(BYTE)*((host->h_addr_list[0) + 3));
WSACleanup();
return 0;
}
===================================================================
====実行結果======================================================
C:\GetIPaddr>GetIPaddr.exe
IPアドレス = 66.249.89.104
================================================================
大変申し訳ないのですが、
エラー処理はしていませんので、実行する際は確実にgoogleにアクセス出来る状態で実行してください。
配列へのポインタになっているべき理由があるはずなのですが自分にはわかりませんでした。
あと、URLからではなくてすみません。
Re:URLからIPアドレスを取得
皆さんの協力で無事満足のいく結果が得られましたありがとうございます
>>お豆さんへ
なるほど、ソケットプログラムというのですね。
初めて聞きました^^;
まだまだ自分には覚えるべきことがたくさんあることがわかったので
ありがとうございます
>>shiro4aoさんへ
DXライブラリから離れていても大丈夫です
自分がU・R・L!U・R・L!っていっていたものはどうやらホスト名のことっぽいです
まさにこういうのを求めていました
最初エラーが出ましたがws2_32.libをリンクするのをしていなかったっぽいので
無事コンパイルが通ったのでよかったです
ありがとうございます

>>お豆さんへ
なるほど、ソケットプログラムというのですね。
初めて聞きました^^;
まだまだ自分には覚えるべきことがたくさんあることがわかったので
ありがとうございます
>>shiro4aoさんへ
DXライブラリから離れていても大丈夫です
自分がU・R・L!U・R・L!っていっていたものはどうやらホスト名のことっぽいです
まさにこういうのを求めていました
最初エラーが出ましたがws2_32.libをリンクするのをしていなかったっぽいので
無事コンパイルが通ったのでよかったです
ありがとうございます
