频道分类

Delphi使用TNetHTTPClient:重定向后如何给出最终的URL?

作者:admin 来源: 日期:2021/1/29 8:46:39 人气: 标签:

 uses System.Net.URLClient, System.Net.HttpClient, System.Net.HttpClientComponent;

似乎没有直接(公共)访问与响应关联的请求实例。hacky解决方案依赖于:

IHTTPResponse返回的实现方式THTTPResponse(实现细节)
受保护的FRequest领域的访问THTTPResponse
然后,您可以使用以下代码访问请求实例:

type
  THTTPResponseAccess = class(THTTPResponse);

procedure TForm2.Button1Click(Sender: TObject);
var
  Response: THTTPResponse;
  Request: IURLRequest;
begin
  Response := NetHTTPClient1.Get('http://delphitop.com') as THTTPResponse;
  Request := THTTPResponseAccess(Response).FRequest;
  ShowMessage(Request.URL.ToString);
end;
输出为:

http://www.delphitop.com/