2014-12-09 23 views

Antwort

10

Die hoKeepOrigProtocol-Option in die HTTPOptions-Eigenschaft aufnehmen (auf True setzen). Außer dass die Eigenschaft ProtocolVersion auf pv1_1 (der Standardwert) gesetzt ist.

Im TIdCustomHTTP.Post Methodencode gibt es einen Kommentar das aktuelle Verhalten zu erklären:

Zeit, wenn ein POST-Ausgabe, IdHTTP automatisch das -Protokoll Version 1.0 unabhängig vom Wert gesetzt wird es zunächst hatte. Dies liegt daran, dass es einige Server gibt, die den RFC nicht vollständig respektieren. Insbesondere respektieren sie nicht das Senden/Nicht Senden des Headers Expect: 100-Continue . Bis wir eine optimale Lösung finden, die den RFC nicht bricht, werden wir POSTS auf Version 1.0 beschränken.

ein paar Zeilen weiter unten ist die Änderung in der Version 1.0 mit folgendem Kommentar:

// 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; 

Und der obige Code wird übersprungen (die Version nicht geändert wird), wenn Sie die hoKeepOrigProtocol Option enthalten haben in die HTTPOptions.