3

URL をデコードして解析し、POST パラメータとして使用できるようにするにはどうすればよいですか。

continue=http%3A%2F%2Fmail.google.com%2Fmail%2F&service=mail&rm=false&dsh=..

var
 URL:String;
 Data:TStringList;
 MemoryStream:TMemoryStream;
begin
IdHTTP1.Post(URL, Data, MemoryStream);
4

1 に答える 1

3

あなたはそれをすべて行うことができますTIdURI

  • デコードするには を使用しますTIdURI.URLDecode(...)
  • 解析するには、デコードされた URI を に渡しTIdURI.Createます。

まとめると以下のようになります。

var
  URI: TIdURI;
....
URI := TIdURI.Create(TIdURI.URLDecode(EncodedURI));
try
  // Protocol = URI.Protocol
  // Username = URI.Username
  // Password = URI.Password
  // Host = URI.Host
  // Port = URI.Port
  // Path = URI.Path
  // Query = URI.Params
finally
  URI.Free;
end;

これらの回答に対する謝辞とともに:

于 2013-09-12T17:17:43.077 に答える