最近做的项目,需要在宿主机部署公司自研的agent插件,然后服务端通过向agent发请求的执行脚本或命令的方式完成一系列操作,服务端使用httpRequest调用agent接口,但是在调用过程中发现响应信息是一次成功,一次失败,非常有规律,服务端报错信息如下:
java.net.ProtocolException: Unexpected status line:
而且在服务器直接通过curl命令请求agent接口时,不会出现这种规律性失败现象,遂怀疑可能是服务端请求有问题,根据网上的搜索,发现可能是请求未正常关闭导致的,在请求头信息中加上
("Connection","close")
再次测试,问题解决,但是还是没搞清楚为什么请求未关闭,下次请求过来就会报错,但是下下次请求又能成功;推测可能是请求失败报错后,之前未关闭的连接就失效了,所以下次请求又能成功,决定沿着这个思路去研究一下,后续有答案再更新