983987649 发表于 2024-6-22 20:49:15

如何获取验证码图片链接

在制作爬虫时,我在下载页面
“http://c.gb688.cn/bzgk/gb/showGb?type=download&hcno=E49F11C43C31BD89386C871B3D75F054”
尝试下载pdf文件,但点击下载链接后,会提示需要输入验证码,通过抓包,发现每次点击下载按钮都只会发出1个获取验证码图片的请求,没有别的请求,但该链接会以某个随机字符串结尾,也就是每次点击下载,获取验证码图片的链接都是不同的,这导致我无法拼接获取验证码图片的链接
此外我尝试在控制台观察请求的js文件,但获取的都是打包压缩的文件,其中也无法搜到‘http’、‘rand’字样的内容
那么,请问大佬们有什么办法获取这个随机数或者说生成这个随机数的函数吗

983987649 发表于 2024-6-22 20:51:48

我也尝试过直接用下载文件的链接请求,但响应内容并没有我要下载的文件,可能还是要输入验证码,系统才会提供文件吧

983987649 发表于 2024-6-22 20:56:27

额,也许后面那个随机字符串是无效的,为了防止浏览器缓存才存在的一种解决方法。我再试试看

李恒道 发表于 2024-6-22 21:33:06

rand是为了防缓存,一般下发验证码会配合cookie或者标识符
你可以抛弃掉原本的验证码
直接去读验证码,只要验证码对应的特征码携带过去就可以了

李恒道 发表于 2024-6-22 21:35:42

比如这个网页提交携带了JSESSIONID的Cookie,属于一种标识符的手段
我直接修改JSESSIONID,然后刷新验证码,再恢复JSESSIONID,输入老得验证码
正常通过了
就证明后端通过读取JSESSIONID设置最新验证码
你只需要携带JSESSIONID读取验证码,并且识别,提交就好了

Su. 发表于 2024-6-22 22:48:28

随机值是时间戳
页: [1]
查看完整版本: 如何获取验证码图片链接