Estate atento porque en esta división vas a encontrar el resultado que buscas.Esta sección ha sido probado por nuestros expertos para garantizar la calidad y veracidad de nuestro post.
Solución:
Incluir la hoKeepOrigProtocol
opción en el HTTPOptions
conjunto de propiedades (establecerlo en True). Excepto que mantenga el ProtocolVersion
propiedad establecida en pv1_1
(que es el valor predeterminado).
En el TIdCustomHTTP.Post
código del método hay un comentario que explica el comportamiento actual:
Actualmente, al emitir un POST, IdHTTP configurará automáticamente el protocolo a la versión 1.0 independientemente del valor que tenía inicialmente.
Esto se debe a que hay algunos servidores que no respetan el RFC en toda su extensión. En particular, no respetan el envío/no envío del encabezado Expect: 100-Continue. Hasta que encontremos una solución óptima que NO rompa el RFC, restringiremos POSTS a la versión 1.0.
Unas líneas más abajo está el cambio a la versión 1.0 con el siguiente comentario:
// 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;
Y el código anterior se omite (la versión no cambia) si tiene el hoKeepOrigProtocol
opción incluida en el HTTPOptions
.
Recuerda algo, que tienes concesión de esclarecer si te fue de ayuda.