使用 python 请求模块获取验证码图像时出现问题

Problem in getting captcha image using python requests module

我正在尝试使用请求模块登录到具有验证码的站点。

import requests
from bs4 import BeautifulSoup

url="http://somesite.com"
with requests.Session() as s:
  r = s.get(URL, headers=headers)
  soup = BeautifulSoup(r.content, features="html.parser")

  CaptchaImgURL = 'https://somesite.com/image.axd?uid=49a9ca-3a3e-40e7'
  r = requests.get(CapImgURL)
  open('ImageVerify.jpg', 'wb').write(r.content)

  login_details['username']=user
  login_details['passwd']=pwd
  login_details['txtImgVerifyCode']=input('Enter Code:  ')  
  login_details['button']='Log in'
  r = s.post(URL, data=login_details , headers=LoginHeaders)

在这里,我首先获取登录页面,然后将验证码图像保存在来自 CaptchaImgURL 的单独 url 请求中。但是我在登录时收到无效的验证码。

每次请求时同一个CaptchaImgURL中的验证码图片都会改变

第一次请求获取登录页面时,如何获取验证码图像?

早些时候我直接请求验证码图像而不使用登录会话 requests.Session() 即 s。

所以在使用 requests.Session() 发出请求后,即 s。效果很好。

 r = s.get(CapImgURL, headers=headers)