Avatar billede noxiaz Nybegynder
06. juni 2006 - 23:44 Der er 14 kommentarer og
1 løsning

Få den ydre ip

string  myip = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0].ToString();

Dette giver computerens IP, hvordan kan jeg få den ydre ip? :)
Hvis det ikke lige er muligt via en enkelt script, men kræver en connection af en art, så har jeg en åben UDP socket kørende, hvis man kan få ens ip ud fra den?
Avatar billede Syska Mester
06. juni 2006 - 23:50 #1
Altså din eksterne ip?

www.myip.dk og så måske lave noget parsing af det du får tilbage fra et http kald, men det kan nok nemt tænkes at der findes mere smarte måder at gøre det på....

Så jeg lytter også lige med....

// ouT
Avatar billede noxiaz Nybegynder
06. juni 2006 - 23:53 #2
Buzzzz, Det var præcis det samme jeg tænkte. :D hæhæ
Avatar billede arne_v Ekspert
07. juni 2006 - 08:35 #3
Problemet er at computeren ikke selv kender den IP som en NAT router/firewall
har paa ydersiden for den.

En request til noget er den eneste maade.

En web service ville vaere paenere end en HTML parse, men ...
Avatar billede noxiaz Nybegynder
07. juni 2006 - 13:56 #4
Arne_v, jeg har en udp connection kørende er det muligt at få den ydre ip på den måde? :)
Avatar billede arne_v Ekspert
08. juni 2006 - 18:31 #5
UDP eller TCP er ligegyldigt, saa du kan godt spoerge ham i den anden
ende hvilken IP adresse han ser dig med
Avatar billede noxiaz Nybegynder
10. juni 2006 - 22:18 #6
arne_v, hvordan gør jeg så det? :) - Har ingen anelse om hvordan jeg skal "spørge" om min ip. Er det noget du kunne lave for mig?

Skal du se hvordan jeg laver connection eller er det ligegyldigt?
Avatar billede arne_v Ekspert
10. juni 2006 - 22:21 #7
der er ikke noget indbygget funktionalitet til det - der skal være noget
i applikationen til at gøre det
Avatar billede noxiaz Nybegynder
10. juni 2006 - 22:34 #8
Oki det vil sige, at hvis den ting jeg connecter til ikke har en funktion til at return min ip kan det ikke lade sig gøre på den måde?
Avatar billede arne_v Ekspert
10. juni 2006 - 22:43 #9
korrekt
Avatar billede noxiaz Nybegynder
10. juni 2006 - 22:47 #10
Arne_v TCP sockets er ikke min stærke side i C#, var der mulighed for du kunne lave et script som hentede den ydre ip? bare fra www.myip.dk?
Avatar billede arne_v Ekspert
10. juni 2006 - 23:55 #11
public static string MyIp()
        {
            WebClient wc = new WebClient();
            StreamReader sr = new StreamReader(wc.OpenRead("http://www.myip.dk/"));
            string html = sr.ReadToEnd();
            return Regex.Matches(html, @"(?:<title>Your IP: )(\d+\.\d+\.\d+\.\d+)(?:</title>)")[0].Groups[1].Value;
        }
Avatar billede noxiaz Nybegynder
11. juni 2006 - 00:20 #12
arne_v: The name Regex does not exist in the current context - Hva betyder dette? Har copy pasted dit ind i filen
Avatar billede arne_v Ekspert
11. juni 2006 - 00:25 #13
du mangler bare en using af System.Text.RegularExpressions - her er mit komplette
program:

using System;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;

namespace E
{
    public class MainClass
    {
        public static string MyIp()
        {
            WebClient wc = new WebClient();
            StreamReader sr = new StreamReader(wc.OpenRead("http://www.myip.dk/"));
            string html = sr.ReadToEnd();
            return Regex.Matches(html, @"(?:<title>Your IP: )(\d+\.\d+\.\d+\.\d+)(?:</title>)")[0].Groups[1].Value;
        }
        public static void Main(string[] args)
        {
            Console.WriteLine(MyIp());
        }
    }
}
Avatar billede noxiaz Nybegynder
11. juni 2006 - 00:46 #14
arne_v det kan bare ikke siges for tit ! Du er gud ! :D mange mange tak for hjælpen kom med et svar du fortjener det ;) Du er jo for syg til C# alt andet andet :/ Men man må sige du dele godt ud af din viden DEJLIGT ! :D
Avatar billede arne_v Ekspert
11. juni 2006 - 00:52 #15
svar kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester