Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   String in URL konvertieren (https://www.delphipraxis.net/154629-string-url-konvertieren.html)

KahPee 18. Sep 2010 15:32

String in URL konvertieren
 
Hallo,

ich habe das Problem, dass ich diverse Strings in Strings im URL-konformen Format konvertieren muss.
Also so müssen z.B. Leerzeichen durch '%20' ersetzt werden.
Gibt es dafür schon ne Unit oder eine Prozedur oder muss ich das jetzt für jedes Sonderzeichen selber zusammenschreiben?

mfg KahPee

daywalker9 18. Sep 2010 15:39

AW: String in URL konvertieren
 
Delphi-Referenz durchsuchenStringReplace

Die Muhkuh 18. Sep 2010 15:46

AW: String in URL konvertieren
 
Die Indys bieten die Funktionen URLEncode bzw. URLDecode, die das erledigen.

Satty67 18. Sep 2010 16:17

AW: String in URL konvertieren
 
Für ein SMSoverHTTP habe ich das mal gebraucht und hat auch funktioniert. Hoffe es ist kein Fehler drin, letzlich wurde es nur grob getestet und später dann garnicht mehr genutzt (also der Dienst)

Was ich gleich sehe, das hier das encoding für Parameter gemacht wird. Die ganze Url (also auch mit "/" und ":") sollte so ja nicht encodiert werden. Bei bedarf ValidChars anpassen oder die Indy's nutzen ;)
Delphi-Quellcode:
function EncodeUrl(AString : String): String;
const
  ValidChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUFWXYZ-_.~1234567890';
var
  i : Integer;
begin
  Result := '';
  for i := 1 to Length(AString) do
    if Pos(AString[i], ValidChars) <= 0 then
      Result := Result + '%' + IntToHex(Ord(AString[i]), 2)
    else
      Result := Result + AString[i];
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz