Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi HTTPS / G-Server (https://www.delphipraxis.net/148802-https-g-server.html)

Assertor 17. Jun 2010 13:26

AW: HTTPS / G-Server
 
Hallo Jens,

Zitat:

Zitat von Jens Hartmann (Beitrag 1029620)
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

Jens Hartmann 17. Jun 2010 13:34

AW: HTTPS / G-Server
 
Zitat:

Zitat von Assertor
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:

Das kann sein, bei mir leider nicht, ich nutze allerdings Delphi 2007. Ich habe das jetzt nochmal identisch zu deinem Code aufgebaut und den Text in eine Memo schreiben lassen. Leerzeichen sind Leerzeichen und nicht %20.

Danke übrigens für die Liste

Gruß Jens

Assertor 17. Jun 2010 13:38

AW: HTTPS / G-Server
 
Hallo Jens,

keine Ursache. Im Fließtext des RFC steht in der Mitta ca., wie encodiert werden muß.

Mit Deiner Delphi Version bin ich im Post verrutscht, mein Fehler :oops:

Mit der alten Indy Version wird das nichts, also nimm ruhig StringReplace o.ä. Bei dem eingeschränkten Zeichensatz könntest Du auch eine Positivliste machen (a..z, A..Z, 0..9 und ein paar Sonderzeichen), alles andere fliegt raus bzw. wird wie das Leerzeichen URL-encoded.

Viele Grüße,
Assertor

Jens Hartmann 17. Jun 2010 13:46

AW: HTTPS / G-Server
 
Kein Problem,

trotzdem Danke. Vieleicht muss ich doch langsam mal überlegen umzusteigen.

Gruß Jens

bertramgeck 19. Jun 2010 13:31

AW: HTTPS / G-Server
 
Hallo,
vielleicht hilft es ein wenig:
http://www.gebecom.de/sdk/wiki/index...itle=Main_Page

Dort gibt es eine Sektion mit Code-Samples. Leider noch keine Delphi-Samples.

Gruß
Bertram

Jens Hartmann 19. Jun 2010 17:20

AW: HTTPS / G-Server
 
Danke,

ich weiß. Aber leider wie du sagst, keins für Delphi. Ich habe es aber mittlerweile ganz gut am laufen.

Gruß Jens


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 Uhr.
Seite 3 von 3     123   

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