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;

 

  

 

相关文章:

  • 2021-07-09
  • 2022-12-23
  • 2022-12-23
  • 2022-02-01
  • 2022-12-23
  • 2021-09-28
  • 2022-12-23
  • 2021-11-28
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-12
  • 2022-03-09
  • 2022-12-23
  • 2021-06-15
相关资源
相似解决方案