Thema: Delphi HTTPS / G-Server

Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#21

AW: HTTPS / G-Server

  Alt 17. Jun 2010, 13:26
Hallo Jens,

Das ist leider so. Die Funktion ist zwar OK, aber der Fehler ist bei dem Zeichen + z.B. genauso. Die Decode Funktion ist leider auch nicht besser.

Habe das ganze jetzt mit StringReplaced gelöst. Allerdings weiß ich nicht, welche Zeichen noch Problem verursachen.

Also irgendwas stimmt da nicht: Nehme ich ein frisches Delphi 2010 mit der Release Version von Indy (das dürfte doch Deine Konfiguration sein?), dann funktioniert es für das Leerzeichen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Lines.Text := TIdURI.URLEncode('http://127.0.0.1:8801/cgi-bin/gadgetapi?cmd=SetDisplay&device=101&contentsOfDisplay=MeinText abc +');
end;
Ausgabe:
Code:
http://127.0.0.1:8801/cgi-bin/gadgetapi?cmd=SetDisplay&device=101&contentsOfDisplay=MeinText%20abc%20+
Das "+" wird aber von Indy tatsächlich, bewußt nicht kodiert. Die Parametertrennung zu kodieren hatte früher den Benutzern zu viele Probleme gemacht.

Zu dem Bereich der gültigen Chars: Alles außerhalb US-ASCII muß kodiert werden (siehe http://www.ietf.org/rfc/rfc1738.txt).

Gruß,
Assertor
Frederik
  Mit Zitat antworten Zitat