AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

relative URL in absolute URL umwandeln

Ein Thema von kcx · begonnen am 29. Feb 2008 · letzter Beitrag vom 29. Feb 2008
Antwort Antwort
kcx

Registriert seit: 19. Feb 2008
44 Beiträge
 
#1

relative URL in absolute URL umwandeln

  Alt 29. Feb 2008, 01:10
Hallo,

Ich suche eine Funktion oder eine Komponente, die eine relative URL in eine absolute URL umwandelt.

Beispiel:

Ich habe eine Base URL:
http://www.test.de/
oder
http://www.test.de/abc/123

und die relative URL:
/pfad/abc/docs/test.txt

Daraus sollte dann:
http://www.test.de/pfad/abc/docs/test.txt

werden.

Jetzt könnte man die URLs natürlich einfach zusammenfügen, aber es gibt ja auch sowas:
../pfad/test
oder
../../../abc/test/
oder
./pfad

etc...

Danke für jede Hilfe!
  Mit Zitat antworten Zitat
deep_thought

Registriert seit: 9. Nov 2007
22 Beiträge
 
#2

Re: relative URL in absolute URL umwandeln

  Alt 29. Feb 2008, 06:07
eine derartige funktion kenne ich nicht ...
aber könnte man nicht einfach für jeden "../" am Anfang einfach eine ebene höher gehen (also mit copy und pos alles inklusive und nach dem letzten "/" wegschneiden) und dann die URLs einfach zusammenfügen?
"./" kannste ignorieren (also einfach nur abschneiden)

mfg deep_thought
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: relative URL in absolute URL umwandeln

  Alt 29. Feb 2008, 07:45
Moin,

die gesuchte Funktion heißt CoInternetCombineUrl() und lebt in der Unit UrlMon:

Delphi-Quellcode:
function CombineUrl(const baseUrl, url: WideString): WideString;
var
  dwLength: Cardinal;
begin
  SetLength(Result, 1024);
  if Succeeded({UrlMon.}CoInternetCombineUrl(PWideChar(baseUrl), PWideChar(url),
    CF_NULL, PWideChar(Result), Length(Result), dwLength, 0)
  ) then SetLEngth(Result, dwLength)
    else Result := '';
end;
Freundliche Grüße
  Mit Zitat antworten Zitat
DelphiKlaus

Registriert seit: 18. Okt 2006
100 Beiträge
 
Delphi 6 Professional
 
#4

Re: relative URL in absolute URL umwandeln

  Alt 29. Feb 2008, 07:48
Hey,

setze die Angaben einfach mal hintereinander. Wenn Du z.B. sowas hast

http://www.test.de/abc/123 und willst

daran

../../pfad/test anhängen, sollte das eigentlich funktionieren:

http://www.test.de/abc/123/../../pfad/test Du musst nur daruf achten, dass der erste Teil auch mit einem Slash abgeschlossen ist (IncludeTrailungBackSlash). Bei lokalen Pfaden funktioniert das. Bei URLs habe ich es nicht probiert.

MfG

Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#5

Re: relative URL in absolute URL umwandeln

  Alt 29. Feb 2008, 07:58
Wenn ich mich nicht täusche, dann kommt man mit
Code:
~/
ins Stammverzeichnis. Habe ich jedenfalls gehört!
Richard Mahr
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: relative URL in absolute URL umwandeln

  Alt 29. Feb 2008, 11:40
Zitat von Tormentor32:
Wenn ich mich nicht täusche, dann kommt man mit
Code:
~/
ins Stammverzeichnis. Habe ich jedenfalls gehört!
Das kenne ich nur von ASP.Net. http://delphipraxis.net/foo/~/index.html funktioniert jedenfalls nicht .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
kcx

Registriert seit: 19. Feb 2008
44 Beiträge
 
#7

Re: relative URL in absolute URL umwandeln

  Alt 29. Feb 2008, 13:03
Vielen Dank an alle, besonders an marabu.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: relative URL in absolute URL umwandeln

  Alt 29. Feb 2008, 13:19
Zitat von Tormentor32:
Wenn ich mich nicht täusche, dann kommt man mit
Code:
~/
ins Stammverzeichnis. Habe ich jedenfalls gehört!
Die Tilde steht für das Homeverzeichnis unter Linux und wird auch nur dann entsprechend ausgewertet wenn der Webserver entsprechend konfiguriert ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz