Я пытаюсь загрузить изображение капчи, решить его вручную, а затем отправить его вместе с именем пользователя и паролем в POST. Мой текст ответа - просто оригинальная страница входа, поэтому я предполагаю, что это означает, что мой код не работает. Веб-страница, на которую я вхожу, находится в темной сети, но я не знаю, насколько это актуально. Единственное, о чем я могу думать, это то, что акт отправки POST генерирует новую капчу. Надеюсь, мне поможет кто-то с лучшим пониманием HTTP.
from bs4 import BeautifulSoup
import base64
import requests
session = requests.Session()
session.proxies = {'http': 'socks5h://127.0.0.1:9150', 'https': 'socks5h://127.0.0.1:9150'}
url = session.get("http://waeixxcraed4gw7q.onion/signin")
soup = BeautifulSoup(url.text, "lxml")
imgs = soup.findAll('img')
#save captcha from base64 encoding
img_data = bytes(imgs[1]['src'][23:],encoding='utf-8')
with open("olympus_captcha.jpg","wb") as fh:
fh.write(base64.decodestring(img_data))
#solve the captcha that has been saved to the harddrive
captcha = input("enter captcha:\n")
#attempt login (password and username removed)
payload = {"username":username, "password":password, "captcha":captcha}
response = session.post("http://waeixxcraed4gw7q.onion/signin", data = payload)
print(response.text)