AGB  ·  Datenschutz  ·  Impressum  







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

String in URL konvertieren

Ein Thema von KahPee · begonnen am 18. Sep 2010 · letzter Beitrag vom 18. Sep 2010
Antwort Antwort
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#1

String in URL konvertieren

  Alt 18. Sep 2010, 16:32
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
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#2

AW: String in URL konvertieren

  Alt 18. Sep 2010, 16:39
Delphi-Referenz durchsuchenStringReplace
Lars
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

AW: String in URL konvertieren

  Alt 18. Sep 2010, 16:46
Die Indys bieten die Funktionen URLEncode bzw. URLDecode, die das erledigen.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#4

AW: String in URL konvertieren

  Alt 18. Sep 2010, 17:17
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;

Geändert von Satty67 (18. Sep 2010 um 17:22 Uhr)
  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 06:17 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