Python запрашивает логин с помощью капчи - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь загрузить изображение капчи, решить его вручную, а затем отправить его вместе с именем пользователя и паролем в 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...