Index: httpsend.pas
===================================================================
@@ -376,7 +376,7 @@
 function THTTPSend.HTTPMethod(const Method, URL: string): Boolean;
 var
   Sending, Receiving: Boolean;
-  status100: Boolean;
+  status100,bStatus1xxReceived: Boolean;
   status100error: string;
   ToClose: Boolean;
   Size: Integer;
@@ -565,6 +565,7 @@
   FTransferEncoding := TE_UNKNOWN;
 
   { read status }
+  bStatus1xxReceived:=false;
   if Status100Error = '' then
   begin
     repeat
@@ -575,15 +576,20 @@
       until FSock.LastError <> 0;
       if Pos('HTTP/', UpperCase(s)) = 1 then
       begin
-        FHeaders.Add(s);
         DecodeStatus(s);
+        bStatus1xxReceived:=(FResultCode >= 100) and (FResultCode < 200);  // unsolicited 1xx Informational
+        if not bStatus1xxReceived then
+          FHeaders.Add(s);
       end
       else
       begin
+        if not bStatus1xxReceived then // throw away data if unsolicited 1xx Informational
+        begin
         { old HTTP 0.9 and some buggy servers not send result }
         s := s + CRLF;
         WriteStrToStream(FDocument, s);
         FResultCode := 0;
+        end;
       end;
     until (FSock.LastError <> 0) or (FResultCode <> 100);
   end
