用indy组件post HTTPS出现异常
post方法呢,就是indy通用的idhttp+IdSSLIOHandlerSocketOpenSSL+2dll的方式post HTTPS网页,来验证登录。
(直接调用WinINet 的api不行,post过去好像始终都是空的,返回正常)。
但是现在遇到一个很奇怪的问题。
我这边post 15次,只有2-3次是能成功,并得到返回结果的,其他大部分时候都是提示scoket error #0。
而这15次post服务器端那边每次都能接收到。返回显示也正常。
有点像等待超时?
ReadTimeout,ConnectTimeout都设置为10S,Request.Connection 为 'Keep-Alive',也没有用。
用cmd命令netstat -ano查看连接情况所有的连接都是close wait的状态。
最后分析的结果是,我这边post过去,服务器端正常接收到了,我在等待返回结果的时候,却被服务器端主动关闭连接了?