View Full Version : [C#] indirizzo ip del computer
ciao ragazzi.
per trovare l'indirizzo ip del mio pc ho trovato questo...
IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
tuttavia mi restituisce 4 indirizzi
i primi 2 sono ipv6
e gli ultimi due sono indirizzi locali ipv4 (192.168.1.x)
come faccio a trovare l'indirizzo ipv4 del mio computer? (quello che ad esempio si visualizza su ip-address.com)
Immagino che il problema sia che sei dietro un router e quindi dovresti chiedere l'IP al router. Non sò aiutarti però :(
sicuramente sono dietro al mio bel usr9107a ;)
come posso fare?
http://www.whatismyip.org/
Puoi parsare il contenuto di una pagina web del genere.. :)
la soluzione più semplice è fare una httpwebrequest ad un sito tipo www.ilmioip.it o similari e parserizzare l'html con delle regex per estrapolare l'indirizzo ip dalla pagina
edit googlato un attimo
using System;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
namespace DreamInCode.Snippets
{
public class IpFinder
{
public static IPAddress GetExternalIp()
{
string whatIsMyIp = "http://whatismyip.com";
string getIpRegex = @"(?<=<TITLE>.*)\d*\.\d*\.\d*\.\d*(?=</TITLE>)";
WebClient wc = new WebClient();
UTF8Encoding utf8 = new UTF8Encoding();
string requestHtml = "";
try
{
requestHtml = utf8.GetString(wc.DownloadData(whatIsMyIp));
}
catch (WebException we)
{
// do something with exception
Console.Write(we.ToString());
}
Regex r = new Regex(getIpRegex);
Match m = r.Match(requestHtml);
IPAddress externalIp = null;
if (m.Success)
{
externalIp = IPAddress.Parse(m.Value);
}
return externalIp;
}
}
}
non è detto che funzioni prova
non è una cattiva idea ci stavo pensando anche io ^^
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.