Handling redirects in HTTP client

procedure TForm1.Button1Click(Sender: TObject);   
begin   
   memResponse.Lines.Clear();   
   memRedirects.Lines.Clear();   
   memIPList.Lines.Clear();   
 
   clHttp1.AllowRedirects := cbAllowRedirect.Checked;   
   clHttp1.Get(edtUrl.Text, memResponse.Lines);   
end;    
  
procedure TForm1.clHttp1Redirect(Sender: TObject;
   ARequestHeader: TStrings;   
   AStatusCode: Integer; AResponseHeader: TclHttpResponseHeader;   
   AResponseText: TStrings; var AMethod: String; var CanRedirect,   
   Handled: Boolean);   
begin   
   memRedirects.Lines.Add((Sender as TclHttp).Url.ParsedUrl +
        ' -> ' + AResponseHeader.Location);   
end;    
  
procedure TForm1.clHttp1SendRequest(Sender: TObject; const AMethod,   
   AUrl: String; ARequestHeader: TStrings);   
begin   
   memIPList.Lines.Add((Sender as TclHttp).Url.ParsedUrl + 
        ' - ' + (Sender as TclHttp).Connection.IP);   
end;

Add Feedback