如何解码和解析 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);
最佳答案
您可以使用 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;
感谢这些答案:
关于delphi - Indy http 后解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18770440/