关于 indy Idhttp Post数据抛异常 connection closed Gracefully

delphi 使用indy -idHttp 控件post 数据时 会报connection closed Gracefully这个异常的问题。

网上找了很多方法最多的就是

修改:

MyHttp.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';

get百度时,需要修改http头:User-Agent: Mozilla/3.0 (compatible; Indy Library)

因为百度屏蔽了 ‘Indy Library’ 这个客户端标识的。

然而这并没有什么吊用

这样的情况应该是服务器端给了一个断开连接的信息,会不会是因为http协议版本的原因?
默认idhttp在post的时候都是使用的pv1_0版本,也就是http/1.0,通过修改为1.1版本后,软件正常了。
下面是核心代码部分:

    MyHttp.HTTPOptions := MyHttp.HTTPOptions + [hoKeepOrigProtocol]; //必须有这行才使设置协议版本生效
    MyHttp.ProtocolVersion := pv1_1;

  

原文地址:https://www.cnblogs.com/wissly/p/14228974.html