HTTP代理兼容问题

       最近收到客户反馈,在他们公司内网无法访问行情主站,远程看有使用HTTP代理,代理设置无异常;我们自己代理测试验证都是正常访问;

问题分析:

 1. 首先取用户LOG分析,发现代理连接通过,在收到主站回包数据时分配缓冲区失败:

        

明显是数值过大导致内存分配失败,主动断开了主站连接,为什么会出现如此大的回包?

2. 分析代码逻辑发现,代理连上后,如果不先给主站发请求, 是不会收到主站数据的,为什么会先收到多余的脏数据?

3. 在客户机器上,用WireShark抓包分析代理连接过程:

与我们的代理服务器对比发现,多返回了一些数据, 测试代理只返回了“HTTP/1.1 200 Connection established";

4. 继续Review Http代理连接的处理逻辑,发现接收缓冲区固定了39个字符

5. 基本上可以判断问题原因, 因为后面代理返回数据未接收完整,导致后面行情协议解析出错

6. 临时增大了代理接收缓冲区,暂时解决;后面可以更好的方法是根据HTTP回包的Content-Length确定接收大小


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值