반응형
Get IP Address from DNS Hostname in C#
하는 방법이다.말그대로 호스트네임에서 IP주소를 가져오는 방법이다.
string myHost = System.Net.Dns.GetHostName();
string myIP = System.Net.Dns.GetHostByName(myHost).AddressList[0].ToString();
txt_ip.Text = myIP.ToString(); //호스트의 IP를 가져온다.
이렇게되면 좋기는 하지만, 내부아이피를 가져오는 문제가 있다.
A frequent task when designing applications that work with TCP/IP and the internet is to lookup an IP address from a hostname. It's much easier for users to deal with the hostname than having to type in an IP address.
First you'll add the System.Net namespace to your using section:
using System.Net;
Example of code to get address from hostname:
사이트의 IP주소를 가져오는 방법이다.string howtogeek = "www.daum.com";
IPAddress[] addresslist = Dns.GetHostAddresses(howtogeek);
foreach (IPAddress theaddress in addresslist)
{
Console.WriteLine(theaddress.ToString());
}
외부 아이피를 가져오는 방법이다.
포럼에서 외부아이피를 어떤식으로 가져오는 지 이야기하고 있다.
처음에는 c#으로 가져오는 이야기를 하더니 결국은 ip check사이트에서 뜨는 문자열을 정규식으로
가져오는 방법으로 결론으로 치닫는다 ㅎㅎ
포럼내용
http://www.dreamincode.net/forums/showtopic24692.htm
public string getExternalIp()
{
try
{
string whatIsMyIp = "http://www.whatismyip.com/automation/n09230945.asp";
WebClient wc = new WebClient();
UTF8Encoding utf8 = new UTF8Encoding();
string requestHtml = "";
requestHtml = utf8.GetString(wc.DownloadData(whatIsMyIp));
IPAddress externalIp = null;
externalIp = IPAddress.Parse(requestHtml);
return externalIp.ToString();
}
catch
{
return "";
}
}