Laden...

Relative url in Absolute Convertieren

Erstellt von Whinyowea vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.102 Views
W
Whinyowea Themenstarter:in
56 Beiträge seit 2009
vor 11 Jahren
Relative url in Absolute Convertieren

Hi Leute,

ich habe eine Menge gegooglte bevor ich diesen Thread erstellt habe, da ich selbst nicht glauben konnte, dass sich bisher keiner diesem Problem stellen musste.

Undzwar, ich lade mit einem WebRequest herunter, und lese die Urls der Bilder und anderer resourcen aus, diese Lade ich dann herunter.

Jedoch klappt das ganze nicht immer, denn manchmal benutzen die Webseiten relative src angaben.

Derzeitig benutze ich diese Methode um aus einer relativen Url eine Absolute zu machen, die schafft das auch zu 99%.

private bool IsAbsoluteUrl(string url)
        {
            try
            {
                Uri result;
                return Uri.TryCreate(url, UriKind.Absolute, out result);
            }
            catch
            {
                return false;
            }
        }

        private string CreateAbsoluteUri(string url)
        {
            Uri uri = null;
            
            if (!IsAbsoluteUrl(url)) uri = new Uri(new Uri(this.Location), url);
            else uri = new Uri(url);
            return uri.AbsoluteUri;
        }

Wenn die Url der resource jedoch so angegeben ist: "xyz?param1=x" funktioniert das ganze nicht und ich bekomme eine Exception. An dem Query teil wird das ganze wohl nicht liegen aber ich weis nicht wie ich es machen soll damit die url richtig gemacht wird.

MfG Iwan

Alle haben gesagt es geht nicht, dann kam einer der hat das nicht gehört und hat es gemacht.

5.941 Beiträge seit 2005
vor 11 Jahren

Hallo Iwan

Was bekommst du für eine Exception?

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

W
Whinyowea Themenstarter:in
56 Beiträge seit 2009
vor 11 Jahren

Die message der Exception ist:

Ungültiger URI: Das URI-Format konnte nicht bestimmt werden.

MfG Iwan

Alle haben gesagt es geht nicht, dann kam einer der hat das nicht gehört und hat es gemacht.

W
Whinyowea Themenstarter:in
56 Beiträge seit 2009
vor 11 Jahren

Ach verdammt, sorry für das Fluchen, aber ich habe grade einen doofen Fehler festgestellt, danke Peter ich wäre ohne dich nie auf die Idee gekommen die StackTrace auszulesen. >.<
Tut mir Leid.

MfG Iwan

Kann geschloßen werden.

Alle haben gesagt es geht nicht, dann kam einer der hat das nicht gehört und hat es gemacht.

5.941 Beiträge seit 2005
vor 11 Jahren

Hallo Iwan

Was war es denn, hat der Anfang bei der Url gefehlt?

Fange nie einfach so Exceptions und wenn es sein muss, wenigstens mir einem Parameter, dann kannst du beim Debugging darauf zugreifen.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

1.346 Beiträge seit 2008
vor 11 Jahren

Betrachten von Exceptions geht auch ohne expliziten Parameter

5.941 Beiträge seit 2005
vor 11 Jahren

Hallo pdelvo

Das macht es aber nicht schöner.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011