Includere l'opzione hoKeepOrigProtocol
nel set di proprietà HTTPOptions
(impostarlo su Vero). Tranne che mantenere la proprietà ProtocolVersion
impostata su pv1_1
(che è il valore predefinito).
Nel codice TIdCustomHTTP.Post
metodo c'è un commento che spiega il comportamento corrente:
Attualmente nel rilasciare un POST, IdHTTP imposterà automaticamente il protocollo alla versione 1.0 indipendentemente dal valore che aveva inizialmente. Questo perché ci sono alcuni server che non rispettano la RFC a in tutta la misura. In particolare, non rispettano l'invio/non invio di l'intestazione Expect: 100-Continue. Fino a quando non troviamo una soluzione ottimale che NON interrompa la RFC, limiteremo i POSTS alla versione 1.0.
Poche righe sotto è il cambiamento alla versione 1.0 con il seguente commento:
// If hoKeepOrigProtocol is SET, it is possible to assume that the developer
// is sure in operations of the server
if not (hoKeepOrigProtocol in FOptions) then begin
if Connected then begin
Disconnect;
end;
FProtocolVersion := pv1_0;
end;
E il codice di cui sopra è saltato (la versione non viene modificato), se si ha la possibilità hoKeepOrigProtocol
incluso nel il HTTPOptions
.