猛牛哥
记录网络点滴生活

aardio的whttp库调用post()后如何获取header中的cookie值

目前的whttp库调用get和post后无法通过readHeader()函数读取返回的header。因为一鹤认为一个请求完毕以后就不应该再去获取header了, 想要获取header必须在请求完毕之前完成。

但是就我个人而言,因为比较懒,不想自己多些几行代码去先send再read,一步步去完成一个http请求。有简单方法不用,那不是傻吗。所以只能手动改一下whttp库。

因为readHeader函数必须在请求完成之前调用才能获取到header,而一鹤写的库里面,只有请求的method=”head”时才调用这个函数, 其他如post、get方法都不会调用。控制这个逻辑的代码在whttp库的down函数里面,大概573行:

if( method == “HEAD” || noReceiveData ){
this.readHeader();
this.endRequest();
return true;
}

只要把    this.readHeader(); 这行代码移动到这个判断语句外面, 就可以在post()之后再调用readHeader来获取返回的http头了。

其实whttp是可以自动保存cookie的,那为什么我非要把它读出来呢? 是为了在多线程中共用cookie,才必须把这个header读出来。

本人和一鹤沟通, 希望把这个库这样改一下, 被拒绝。我看了一下,http库也可以这样改。如果有人遇到类似问题,可以借鉴一下。

赞(2) 打赏
猛牛哥原创:猛牛哥的博客 » aardio的whttp库调用post()后如何获取header中的cookie值

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏