TIdURI を使うと URI をパースしてくれるので、↓こんな感じでパラメータを取れます。
usesSystem.SysUtils, System.Classes, IdURI;procedure GetParams(const iURL: String; const iStrings: TStrings);varURI: TIdURI;Params: TArray<String>;Param: String;beginURI := TIdURI.Create(iURL);tryParams := URI.Params.Split(['&']);iStrings.Clear;for Param in Params doiStrings.Add(TIdURI.URLDecode(Param));finallyURI.Free;end;end;
TIdURI の Params は、単純に '?' を探してそれ以降を切り出した物なので、& で split したり、URLDecode したりしています。
0 件のコメント:
コメントを投稿