Помогите создать правильный пайлоад
С помощью сайта https://curlconverter.com/python создал код убрал всё лишнее,получил примерно это:
import requests
headers ={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0',
'Accept': '*/*',
'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With': 'XMLHttpRequest',
'Connection': 'keep-alive',
}
data = 'PhoneNumber=%2B7(901)+562+-+22+-+89&Password=Qwerty11!&X-Requested-With=XMLHttpRequest'
r = requests.post('https://my.****.ru/Contact/Login', headers=headers, data=data)
print(r.text)
Проблема состоит в том,что в дальнейшем мне придется извлекать логин и пароль из текстовика в формате 79015622289:Qwerty11!
Как создать пайлоад исходя из этой строки?
data = 'PhoneNumber=%2B7(901)+562+-+22+-+89&Password=Qwerty11!&X-Requested-With=XMLHttpRequest'
Ответы (1 шт):
Автор решения: Namerek
→ Ссылка
from pprint import pprint
from urllib.parse import unquote_plus, parse_qs
payload = parse_qs(
unquote_plus(
'PhoneNumber=%2B7(901)+562+-+22+-+89&Password=Qwerty11!&X-Requested-With=XMLHttpRequest'
)
)
phone_number, *_ = [''.join(filter(str.isdigit, item)) for item in payload.get(
'PhoneNumber', []
)] or ('', )
password, *_ = payload.get(
'Password'
) or ('', )
pprint(payload)
print(phone_number, password, sep='\n')
# {'Password': ['Qwerty11!'],
# 'PhoneNumber': [' 7(901) 562 - 22 - 89'],
# 'X-Requested-With': ['XMLHttpRequest']}
# 79015622289
# Qwerty11!