Der wirkliche echte Aufruf muss wie folgt sein
Code:
http://blabla.de/v1/Processes('funktioniertNicht%23')
dann kommt beim Server auch
Code:
v1/Processes('funktioniertNicht#')
an.
Bei
Code:
http://blabla.de/v1/Processes('funktioniertNicht#')
kommt beim Server das
Code:
v1/Processes('funktioniertNicht
an.
Du kannst dir ganz einfach einen simplen HttpServer zusammenbauen
TIdHttpServer
und dann selber nachsehen, was bei welchem Request so ankommt.
Delphi-Quellcode:
type
TForm1 = class(TForm)
IdHTTPServer1: TIdHTTPServer;
ActiveCheckBox: TCheckBox;
Memo1: TMemo;
procedure ActiveCheckBox_Click(Sender: TObject);
procedure Form_Activate(Sender: TObject);
procedure IdHTTPServer1_CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
procedure IdHTTPServer1_CommandOther(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ActiveCheckBox_Click(Sender: TObject);
begin
IdHTTPServer1.Active := ActiveCheckBox.Checked;
end;
procedure TForm1.Form_Activate(Sender: TObject);
begin
ActiveCheckBox.Checked := IdHTTPServer1.Active;
end;
procedure TForm1.IdHTTPServer1_CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
Memo1.Lines.Add(string.Format('%s: %s %s', [ARequestInfo.Command, ARequestInfo.Document,ARequestInfo.QueryParams]));
end;
procedure TForm1.IdHTTPServer1_CommandOther(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
Memo1.Lines.Add(string.Format('%s: %s %s', [ARequestInfo.Command, ARequestInfo.Document,ARequestInfo.QueryParams]));
end;
ACHTUNG
ARequestInfo.Document
enthält den bereits
dekodierten Wert!
ARequestInfo.QueryParams
ist noch
nicht dekodiert!