WebScarab关键源码分析(3)(续)

接上篇。

接下来是两个if,如果接收到的是401或者407返回码(其含义分别为需验证和代理服务器需验证),则重新调整验证信息,并在下一个while里继续请求内容。

再一个是判断如果request使用的是head方法,则setNobody(),因为head方法是不可能有内容部分的,调用setnobody后未读取的输入流_in将不会再尝试读取。

接着判断connect域的内容,如果是不是keep-alive,则表示请求完成后连接应该释放,此时将_in和_out置空,表示这该对象“认为”这两个流是已经释放的了。但实际上还并没有释放,因为_in里还有内容没有flush出来。

如果是keep-alive,则记录lastrequesttime为当前时间,这个时间在判断一个socket是否为有效socket时会用到,详见此类中的invalidsocket方法,逻辑较简单,不再赘述。

随后如果响应中不含有401或者407返回码,循环退出,返回此reponse对象。

至此方法结束,对于此类的行为分析也差不多可以结束了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值