如题目,用glide加载图形验证码,设置点击验证码可以刷新,但是每次都三张以后就不显示新的了。
解决方案是设置跳过图片缓存:
.skipMemoryCache(true)
具体代码如下:
1 |
|
获取到的图片验证码,和下一次对验证码的验证需要处于同一session,所以需要找到Glide在load时发出请求后,服务器返回的sessionID(cookie)。找了大半天,终于[1]帮了大忙。
具体就是在Glide通过url来装载图片之前,想办法让请求通过OkHttpClient来处理,这样可以获取到和服务器交互后的cookie,从而得到sessionID。具体如下:
1 |
|
其中sessionUtil是实现CookieJar接口来保存和载入cookie的:
1 |
|
接下来再发送图形验证码的验证请求时,把获取到的sessionID加入到请求的头部即可:
1 |
|
Reference
[1] https://www.twblogs.net/a/5b8d1f742b717718833ba71c