Função para obter IP Externo (IP da Internet) em C#
Uma função simples, funcional somente para aplicativos desktop. Ele faz um WebRequest ao
site do MeuIP, e lê o retorno do site, buscando somente a "string" referente ao IP descoberto. Melhorias podem
e devem ser feitas.
Código:
using System.IO;
using System.Net;
...
public static string GetIpRemoto()
{
//Cria uma requisição para a URL
WebRequest rq = WebRequest.Create("http://www.meuip.com.br/");
//obtém o response a partir do request
HttpWebResponse rp = (HttpWebResponse)rq.GetResponse();
//obtém um stream contendo a resposta retornada pelo servidor
Stream ds = rp.GetResponseStream();
//Cria um StreamReader para leitura
StreamReader rd = new StreamReader(ds);
//Lê os dados
string responseFromServer = rd.ReadToEnd();
//fecha os objetos
rd.Close();
ds.Close();
rp.Close();
//procura por indexafor fixo no resultado
string URL = "IP";
int i = responseFromServer.IndexOf(URL) + URL.Length + 2;
//captura o IP descoberto
URL = string.Empty;
while (!(responseFromServer[i].ToString() == "<"))
{
URL += responseFromServer[i];
i += 1;
}
return URL.Trim();
}
Autor Adriano Santos
E-mail adrianodrix@gmail.com

Obter ip da_internet_em_c_sharp

  • 1.
    Função para obterIP Externo (IP da Internet) em C# Uma função simples, funcional somente para aplicativos desktop. Ele faz um WebRequest ao site do MeuIP, e lê o retorno do site, buscando somente a "string" referente ao IP descoberto. Melhorias podem e devem ser feitas. Código: using System.IO; using System.Net; ... public static string GetIpRemoto() { //Cria uma requisição para a URL WebRequest rq = WebRequest.Create("http://www.meuip.com.br/"); //obtém o response a partir do request HttpWebResponse rp = (HttpWebResponse)rq.GetResponse(); //obtém um stream contendo a resposta retornada pelo servidor Stream ds = rp.GetResponseStream(); //Cria um StreamReader para leitura StreamReader rd = new StreamReader(ds); //Lê os dados string responseFromServer = rd.ReadToEnd(); //fecha os objetos rd.Close(); ds.Close(); rp.Close(); //procura por indexafor fixo no resultado string URL = "IP"; int i = responseFromServer.IndexOf(URL) + URL.Length + 2; //captura o IP descoberto URL = string.Empty; while (!(responseFromServer[i].ToString() == "<")) { URL += responseFromServer[i]; i += 1; } return URL.Trim(); } Autor Adriano Santos E-mail adrianodrix@gmail.com