Как я узнаю, какие куки нужны во время пост-запроса с использованием запросов Python - PullRequest
0 голосов
/ 10 марта 2019

Используя http-отладчик при входе на сайт runescape, запрос на публикацию показан ниже. Я пытаюсь отправить запрос на почту, чтобы войти в систему. Однако, похоже, что он не работает.

These are the cookies These are the headers

This is the form data being submitted

Я использую 2captcha для получения завершенной капчи, однако мой код, похоже, не регистрирует меня. Есть ли что-то, что я пропускаю? После проверки я проверил файлы cookie, и единственный сохраненный файл cookie - это «настройки». Код снова печатает страницу входа, однако я не вошел в систему.

 import requests
from time import sleep

# Add these values
API_KEY = '2captchaKeyHere'  # Your 2captcha API KEY
site_key = '6Lcsv3oUAAAAAGFhlKrkRb029OHio098bbeyi_Hv'  # site-key, read the 2captcha docs on how to get this
url = 'https://secure.runescape.com/m=weblogin/loginform?theme=runescape&mod=www&ssl=1&dest=community#_ga=2.55033515.1498760561.1552094362-1378522756.1547729132'  # example url


s = requests.Session()

# here we post site key to 2captcha to get captcha ID (and we parse it here too)
captcha_id = s.post("http://2captcha.com/in.php?key={}&method=userrecaptcha&googlekey={}&pageurl={}".format(API_KEY, site_key, url)).text.split('|')[1]
# then we parse gresponse from 2captcha response
recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
print("solving ref captcha...")
while 'CAPCHA_NOT_READY' in recaptcha_answer:
    sleep(5)
    recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
recaptcha_answer = recaptcha_answer.split('|')[1]
print(recaptcha_answer)

headers = {
'Origin': 'https://secure.runescape.com',
'Upgrade-Insecure-Requests': '1',
'DNT': '1',
'Content-Type': 'application/x-www-form-urlencoded',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Referer': 'https://secure.runescape.com/m=weblogin/loginform?theme=runescape&mod=www&ssl=1&dest=community',
'Accept-Language': 'en-US,en;q=0.9',
'Accept-Encoding': 'gzip, deflate',
'Content-Length': '517'


}
payload = {

    'g-recaptcha-response': recaptcha_answer,  # This is the response from 2captcha, which is needed for the post request to go through.
    'username': username,
    'password': password

}

# then send the post request to the url
response = s.post(url, headers=headers, data=payload)
print(response.content)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...