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

2023-10-21 10:41:04 浏览数 (3)

目前的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库也可以这样改。如果有人遇到类似问题,可以借鉴一下。

0 人点赞