[C#] Get My Public IP

2016. 9. 6. 11:14Coders

내 Public IP 를 얻는 코딩.(.NET 4.0 이상)


try
{
	System.Threading.Tasks.Task<string>[] tasks = new[]
	{
		System.Threading.Tasks.Task<string>.Factory.StartNew( () => new System.Net.WebClient().DownloadString(@"http://api.ipify.org/").Trim() ),
		System.Threading.Tasks.Task<string>.Factory.StartNew( () => new System.Net.WebClient().DownloadString(@"http://icanhazip.com/").Trim() ),
		System.Threading.Tasks.Task<string>.Factory.StartNew( () => new System.Net.WebClient().DownloadString(@"http://ipv4bot.whatismyipaddress.com/").Trim() ),
		System.Threading.Tasks.Task<string>.Factory.StartNew( () => new System.Net.WebClient().DownloadString(@"http://www.trackip.net/ip").Trim() ),
		System.Threading.Tasks.Task<string>.Factory.StartNew( () => new System.Net.WebClient().DownloadString(@"http://v4.ident.me/").Trim() ),
		System.Threading.Tasks.Task<string>.Factory.StartNew( () => new System.Net.WebClient().DownloadString(@"https://public-ip.info/ip.txt").Trim() ),
		System.Threading.Tasks.Task<string>.Factory.StartNew( () => new System.Net.WebClient().DownloadString(@"https://wtfismyip.com/text").Trim() )
	};

	int index = System.Threading.Tasks.Task.WaitAny(tasks);
	return tasks[index].Result;
}
catch
{
}


코드 상에 나타나는 URL은 모두 Plain Text 로 IPv4 를 리턴 합니다.

해당 서버들이 각각 먹통이 될 수도 있기 때문에 여러 서버에 걸쳐서 가져 옵니다.

'Coders' 카테고리의 다른 글

Postgresql on Windows Server 2008 R2  (0) 2016.11.08
[MSSQL] CREATE OR REPLACE PROCEDURE  (0) 2016.08.17
[C#] Get Project Resource by Name  (0) 2016.06.24