Træning i brug af System.Uri
/*Sidder og roder - mest for sjov - med en meget simpel webspider, men er gået lidt i stå over hvordan man bør arbejde med internet adresser i .NET frameworket. I får lige et eksempel, og så håber jeg at der er nogen derude der har fuldstændig styr på Uri klassen (som jeg tror jeg skal bruge)...
*/
// Her har vi en Uri med adressen til et website:
Uri rootUri = new Url("http://exp.dk");
// Efter at have lavet et fiktivt request står jeg med fem links:
string[] links = { "/about.html", "http://exp.dk/foo.php", "bar.php", "http://dr.dk/artikler/12245.html", "java script:alert('foobar');" };
Nu har jeg altså 5 forskellige links at tage stilling til. I mit tilfælde ønsker jeg kun at følge de tre første (jeg vil ikke forlade sitet, og ikke forsøge at afvikle scripts).
Spørgsmålet er om/hvordan jeg kan bruge min eksisterende variable rootUri, til at bestemme hvilke af adresserne jeg skal følge. Og ligeledes om jeg kan "joine" denne rootUri med en af mine links-strenge (fx "/about.html" og få "http://exp.dk/about.html") på en fornuftig måde.
Det jeg ønsker at undgå er 5 siders kode med if, indexof, startswith etc.
Målet er altså at finde den korteste kode der kan skabe Uri objekter for de tre første adresser, og kassere de to sidste. Håber der er nogen derude der har en idé og synes det vil være sjovt at prøve :o) Jeg har sat rigeligt points af så der kan deles ud til alle gode idéer.
